給定 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 只含有小寫字母以及字元 '#'。
最直觀的思路,用棧儲存當前字串,一旦碰到'#'
,就pop,如果棧為空,則保持,然後比較字串。
時間複雜度o(m
+n
)o(m + n)
o(m+n)
,空間複雜度o(m
+n
)o(m + n)
o(m+n)
棧版:
class
solution
:def
backspacecompare
(self, s:
str, t:
str)
->
bool
:def
get_real_str
(string:
str)
->
str:
stack =
for ch in string:
if ch ==
'#':
if stack:
stack.pop(
)else
:return
''.join(stack)
return get_real_str(s)
== get_real_str(t)
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...