LeetCode844 比較含退格的字串

2021-10-06 02:12:59 字數 1327 閱讀 9239

給定 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:

1 <= s.length <= 200

1 <= t.length <= 200

s 和 t 只含有小寫字母以及字元 『#』。

高階:

你可以用 o(n) 的時間複雜度和 o(1) 的空間複雜度解決該問題嗎?

這道題目比較簡單,分別將s和t兩個字串入棧,用棧的特性對棧頂元素進行相應的操作即可。遍歷時,當字元為#時,則對已經入棧的棧頂字元進行出棧操作。得到兩個棧後,對兩個棧的元素進行比較即可。

class

solution

(object):

defbackspacecompare

(self, s, t)

:"""

:type s: str

:type t: str

:rtype: bool

"""stack1 =

stack2 =

for i in

range

(len

(s))

:if s[i]

!="#":)

elif stack1:

stack1.pop(-1

)else

: stack1 =

for i in

range

(len

(t))

:if t[i]

!="#":)

elif stack2:

stack2.pop(-1

)else

: stack2 =

return stack1 == stack2

時間複雜度:o(m+n)

空間複雜度:o(m+n)

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...