Leetcode 844. 比较含退格的字符串 解题思路及C++实现
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 844. 比较含退格的字符串 解题思路及C++实现
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
解題思路:
使用兩個(gè)棧a和b,分別存儲(chǔ)字符串S和T對(duì)應(yīng)的結(jié)果,然后再逐個(gè)比較棧a和b的元素,之后需要加一個(gè)判斷是否會(huì)有某一個(gè)棧非空,如果有其中一個(gè)棧非空,則返回false,否則返回true。
?
class Solution { public:bool backspaceCompare(string S, string T) {stack<char> a, b;//分別訪問這兩個(gè)字符串,存在兩個(gè)棧中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]);}//逐個(gè)比較元素是否相等while(!a.empty() && !b.empty()){if(a.top() != b.top()) return false;else{a.pop();b.pop();}}//最后需要判斷一下,是否會(huì)有一個(gè)棧不為空if(!a.empty() || !b.empty()) return false;else return true;} };?
?
?
總結(jié)
以上是生活随笔為你收集整理的Leetcode 844. 比较含退格的字符串 解题思路及C++实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 682. 棒球比赛 解
- 下一篇: s3c2440移植MQTT