
可以把字符串的每一个字符当成入栈,而当字符为#的时候,是出栈,
遍历一整个字符串就能完成一个栈的构建。
两个字符串就相当于建了两个栈
比较两个栈是否相等
如果相等那么返回true
如果不相等,那么返回false
完整代码如下:
c++
class Solution {
public:
stack<char> a;
stack<char> b;
bool backspaceCompare(string s, string t) {
for(int i=0;i<s.size();i++)
{
if(s[i]!='#')
{
a.push(s[i]);
}
else if(!a.empty())
{
a.pop();
}
}
for(int i=0;i<t.size();i++)
{
if(t[i]!='#')
{
b.push(t[i]);
}
else if(!b.empty())
{
b.pop();
}
}
//有两个栈判断两个栈是否相等
if(a==b)
{
return true;
}
else
{
return false;
}
}
};