LeetCode算法題目——棧
題目
給定 S
和 T
兩個(gè)字符串,當(dāng)它們分別被輸入到空白的文本編輯器后训堆,判斷二者是否相等做葵,并返回結(jié)果。#
代表退格字符华烟。
示例 1:
輸入:S = "ab#c", T = "ad#c"
輸出:true
解釋:S 和 T 都會(huì)變成 “ac”翩迈。
示例 2:
輸入:S = "ab##", T = "c#d#"
輸出:true
解釋:S 和 T 都會(huì)變成 “”。
示例 3:
輸入:S = "a##c", T = "#a#c"
輸出:true
解釋:S 和 T 都會(huì)變成 “c”盔夜。
示例 4:
輸入:S = "a#c", T = "b"
輸出:false
解釋:S 會(huì)變成 “c”负饲,但 T 仍然是 “b”。
提示:
- 1 <= S.length <= 200
- 1 <= T.length <= 200
- S 和 T 只含有小寫(xiě)字母以及字符 '#'喂链。
解答
Python3:
class Solution:
def backspaceCompare(self, S: str, T: str) -> bool:
stack_S = []
stack_T = []
for s in S:
if s != '#':
stack_S.append(s)
elif stack_S:
stack_S.pop()
for t in T:
if t != '#':
stack_T.append(t)
elif stack_T:
stack_T.pop()
return stack_S == stack_T