简单
630
相关企业
给定 s
和 t
两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true
。#
代表退格字符。
**注意:**如果对空文本输入退格字符,文本继续为空。
示例 1:
输入:s = "ab#c", t = "ad#c"
输出:true
解释:s 和 t 都会变成 "ac"。
示例 2:
输入:s = "ab##", t = "c#d#"
输出:true
解释:s 和 t 都会变成 ""。
示例 3:
输入:s = "a#c", t = "b"
输出:false
解释:s 会变成 "c",但 t 仍然是 "b"。
class Solution {
public boolean backspaceCompare(String s, String t) {
Stack <Character> ss= new Stack<>();
Stack <Character> tt = new Stack<>();
for(int i = 0; i < s.length(); i++){
if(s.charAt(i) == '#'){
if(!ss.isEmpty())
ss.pop();
} else{
ss.push(s.charAt(i));
}
}
for(int i = 0; i < t.length(); i++){
if(t.charAt(i) == '#'){
if(!tt.isEmpty())
tt.pop();
} else{
tt.push(t.charAt(i));
}
}
return tt.toString().equals(ss.toString());
}
}
可以使用栈来解决这个问题,具体过程如下: