844比较含退格的字符串

844比较含退格的字符串

下面是题目

下面是题目给出的代码

1
2
3
4
5
class Solution {
public:
bool backspaceCompare(string S, string T) {
}
};

解答

  • 还是要先判断特殊字符,在判断特殊字符的时候同时要判断栈是不是空的,因为如果是#且栈是空的,那也没有意义了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Solution {
public:
static void addchar(stack<char>&s,string S)
{
//因为string也是容器,我们也可以用for( : )来把s中每个元素赋值出来
for(char i : S)
{
if (i=='#'&&!s.empty())
{
s.pop();
}
else if(i<='z'&&i>='a')
{
s.push(i);
}
}
}
bool backspaceCompare(string S, string T) {
stack<char>s;
stack<char>t;
addchar(s,S);
addchar(t,T);
return s==t? true:false;

}
};
-------------本文结束,感谢您的阅读-------------