844.比较含退格的字符串
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution {
public:
string clearBK(string &str){
string data;
for(auto s : str){
if(s != '#'){
data.push_back(s);
}else{
if(!data.empty()){
data.pop_back();
}
}
}
return data;
}
bool backspaceCompare(string s, string t) {
return clearBK(s) == clearBK(t);
}
};

这道题我要提及的点是,当我们企图利用栈的对称性解决问题,如果这个返回值为字符串,那我们可以直接利用字符串作为栈来使用,因为它支持向后插入和向后弹出,这样我们就处理完就可以直接返回结果,也是相当方便了。

也许我不该强调这道题的对称性,而应该表述为 利用栈实现消消乐。