844. Backspace String Compare

Given two strings S and T, return if they are equal when both are typed into empty text editors. # means a backspace character.

Example 1:

Input: S = "ab#c", T = "ad#c"
Output: true
Explanation: Both S and T become "ac".

Example 2:

Input: S = "ab##", T = "c#d#"
Output: true
Explanation: Both S and T become "".

Example 3:

Input: S = "a##c", T = "#a#c"
Output: true
Explanation: Both S and T become "c".

Example 4:

Input: S = "a#c", T = "b"
Output: false
Explanation: S becomes "c" while T becomes "b".
Note:

1 <= S.length <= 200
1 <= T.length <= 200
S and T only contain lowercase letters and '#' characters.

class Solution {
public:
    bool backspaceCompare(string S, string T) {
        string s = "", t="";
        for(int i=0;i<S.length();i++){
            if(S[i] == '#'){//注意是字符之间的比较,不能用字符和字符串进行比较-->错误ISO C forbids comparison between pointer and integer [-fpermissive]
                if(s.length()!=0)
                    s.pop_back();
            }
            else{
                s+=S[i];
            }
        }
        for(int i=0;i<T.length();i++){
            if(T[i] == '#'){
                if(t.length()!=0)
                    t.pop_back();
            }
            else{
                t+=T[i];
            }
        }
        return s==t;
    }
};
原文地址:https://www.cnblogs.com/ysugyl/p/9585420.html