一、题目描述
循环输入。每组数据给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。
#
代表退格字符。当没有任何输入时,程序结束。
二、解题思路
难度:🔴🔴🔴🔴⚪
-
普通字符入栈,
#
出栈,注意判空操作; -
然后就是对于两个字符串,判断它们生成的栈是否相等了。
-
对于字符串
abc#d
,最后得到的字符串为abd
,如下图所示:
-
两个栈判定相等,就是同时将两个栈进行 弹栈 操作,并且每次判定 栈顶 元素 是否相等,不相等直接返回 false。等其中一个栈为空,或者两个栈都为空,则结束循环。最后,如果两个栈都为空,则代表两个栈之前是相等的,否则不相等。
-
有关 栈 的实现,可以参见以下文章: