描述
給定 s 和 t 兩個字串,當它們分別被輸入到空白的文字編輯器後,判斷二者是否相等,並返回結果。 # 代表退格字元。
示例 1:
輸入:s = 「ab#c」, t = 「ad#c」
輸出:true
解釋:s 和 t 都會變成 「ac」。
示例 2:
輸入:s = 「ab##」, t = 「c#d#」
輸出:true
解釋:s 和 t 都會變成 「」。
示例 3:
輸入:s = 「a##c」, t = 「#a#c」
輸出:true
解釋:s 和 t 都會變成 「c」。
示例 4:
輸入:s = 「a#c」, t = 「b」
輸出:false
解釋:s 會變成 「c」,但 t 仍然是 「b」。
1 <= s.length <= 200
1 <= t.length <= 200
s 和 t 只含有小寫字母以及字元 『#』。
思路解法一
借用兩個棧,這裡直接用字串來的,c++裡面字串有棧的作用。從前往後掃瞄輸入字串,不為空遇到#,出棧乙個字元,遇到字母,入棧。最後比較構造的兩個字串是否相等。
這是用不用字串用char棧的解法。class
solution
string f
(string t)
else
}return s1;}}
;
解法二class
solution
return
true;}
void
f(stack<
char
>
&st,string s)
}else}}
};
我們從後往前看,如果遇到的是字母,這個字母肯定是不會被退格給刪除的,如果遇到的是#,我們就需要跳過下乙個字母字元。
class
solution
while
(t>=0)
if(s>=
0&&t>=
0&&s[s]
!=t[t]
)return
false;//
if((s>=0)
!=(t>=0)
)return
false
;//字母和空比較
s--,t--;}
return
true;}
};
leetcode 844 比較含退格的字串
給定s和t兩個字串,當它們分別被輸入到空白的文字編輯器後,判斷二者是否相等,並返回結果。代表退格字元。示例 1 輸入 s ab c t ad c 輸出 true解釋 s 和 t 都會變成 ac 示例 2 輸入 s ab t c d 輸出 true解釋 s 和 t 都會變成 示例 3 輸入 s a c...
leetcode 844 比較含退格的字串
近期一直在用python刷leetcode的題,都提交到了github上了 給定s和t兩個字串,當它們分別被輸入到空白的文字編輯器後,判斷二者是否相等,並返回結果。代表退格字元。示例 1 輸入 s ab c t ad c 輸出 true 解釋 s 和 t 都會變成 ac 示例 2 輸入 s ab t...
LeetCode 844 比較含退格的字串
輸入 s ab c t ad c 輸出 true 解釋 s 和 t 都會變成 ac 示例 2 輸入 s ab t c d 輸出 true 解釋 s 和 t 都會變成 示例 3 輸入 s a c t a c 輸出 true 解釋 s 和 t 都會變成 c 示例 4 輸入 s a c t b 輸出 fa...