题目讲解
844. 比较含退格的字符串
算法讲解
使用栈模拟,但遇到#字符就让栈顶元素出栈,但是在写的过程中有两点需要注意:当#出现在第一个位置,需要特殊处理一下;当栈为空的时候,还出现#字符需要特殊处理一下
class Solution {
public:bool backspaceCompare(string s, string t) {string stack_s;string stack_t;for(int i = 0; i < s.size(); i++){if(!stack_s.empty() && s[i] == '#')stack_s.pop_back();else if(s[i] == '#' && stack_s.empty())continue;else stack_s.push_back(s[i]);}for(int i = 0; i < t.size(); i++){if(!stack_t.empty() && t[i] == '#')stack_t.pop_back();else if(t[i] == '#' && stack_t.empty())continue;else stack_t.push_back(t[i]);}return stack_s == stack_t;}
};