844. 比较含退格的字符串
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。
注意:如果对空文本输入退格字符,文本继续为空。
//利用栈,遍历字符串,非退格符 # 就压栈,否则弹出栈顶元素,最后比较两字符串剩下的是否相同
class Solution {
public boolean backspaceCompare(String S, String T) {
return recreate(S).equals(recreate(T));
}
public String recreate(String s){
StringBuffer sb = new StringBuffer();
for(int i=0;i<s.length();i++){
char c = s.charAt(i);
if(c!='#'){
sb.append(c);
}else{
if(sb.length()>0)
sb.deleteCharAt(sb.length()-1);
}
}
return sb.toString();
}
}

浙公网安备 33010602011771号