题目为:给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。
解题思路为:
1、首先先将字符串转化为字符数组;
char[] s=S.toCharArray();
char[] t=T.toCharArray();`
2、创建俩个栈进行处理;
Stack<Character> stackS=new Stack<>();
for(int i=0;i<s.length;i++) {
if(s[i]!='#') {
stackS.push(s[i]);
}else if(!stackS.isEmpty()) {
stackS.pop();
}
}
Stack<Character>stackT=new Stack<>();
for(int i=0;i<t.length;i++) {
if(t[i]!='#') {
stackT.push(t[i]);
}else if(!stackT.isEmpty()) {
stackT.pop();
}
}
**3.最后进行数据的返回。**
return String.valueOf(stackS).equals(String.valueOf(stackT));
完整代码如下图所示:
运行截图如图所示:
以上就是此题的解决方法。