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;
}
};