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();
    }
}
posted @ 2020-10-20 10:26  _zjk  阅读(54)  评论(0)    收藏  举报