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. 二叉树的中序遍