给定 S
和 T
两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 #
代表退格字符。
示例 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 = "#a#c"
输出:true
解释:S 和 T 都会变成 “c”。
示例 4:
输入:S = "a#c", T = "b"
输出:false
解释:S 会变成 “c”,但 T 仍然是 “b”。
提示:
1 <= S.length <= 200
1 <= T.length <= 200
S
和T
只含有小写字母以及字符'#'
。
用不到栈,直接加减就行
class Solution
{
public:
bool backspaceCompare(string S, string T)
{
string ans1 = "", ans2 = "";
for (char str : S)
{
if (str == '#')
{
if (ans1.empty())
continue;
ans1.pop_back();
}
else
ans1 += str;
}
for (char str : T)
{
if (str == '#')
{
if (ans2.empty())
continue;
ans2.pop_back();
}
else
ans2 += str;
}
return ans1 == ans2;
}
};