Leetcode 844. 比较含退格的字符串 解题思路及C++实现
生活随笔
收集整理的这篇文章主要介绍了
Leetcode 844. 比较含退格的字符串 解题思路及C++实现
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
解题思路:
使用两个栈a和b,分别存储字符串S和T对应的结果,然后再逐个比较栈a和b的元素,之后需要加一个判断是否会有某一个栈非空,如果有其中一个栈非空,则返回false,否则返回true。
class Solution { public:bool backspaceCompare(string S, string T) {stack<char> a, b;//分别访问这两个字符串,存在两个栈中for(int i = 0; i < S.length(); i++){if(S[i] == '#'){if(!a.empty()) a.pop();}else a.push(S[i]);}for(int i = 0; i < T.length(); i++){if(T[i] == '#'){if(!b.empty()) b.pop();}else b.push(T[i]);}//逐个比较元素是否相等while(!a.empty() && !b.empty()){if(a.top() != b.top()) return false;else{a.pop();b.pop();}}//最后需要判断一下,是否会有一个栈不为空if(!a.empty() || !b.empty()) return false;else return true;} };
总结
以上是生活随笔为你收集整理的Leetcode 844. 比较含退格的字符串 解题思路及C++实现的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Leetcode 682. 棒球比赛 解
- 下一篇: Leetcode 94. 二叉树的中序遍