輸入:s = "ab#c", t = "ad#c"
輸出:true
解釋:s 和 t 都會(huì)變成 "ac"摊求。
第一種方法比較簡(jiǎn)單,需要遍歷兩遍字符串,不符合題目要求。
時(shí)間復(fù)雜度:O(N+M)O(N+M)齿拂,其中 NN 和 MM 分別為字符串 SS 和 TT 的長(zhǎng)度。我們需要遍歷兩字符串各一次肴敛。
空間復(fù)雜度:O(N+M)O(N+M),其中 NN 和 MM 分別為字符串 SS 和 TT 的長(zhǎng)度吗购。主要為還原出的字符串的開(kāi)銷医男。
作者:LeetCode-Solution
鏈接:https://leetcode-cn.com/problems/backspace-string-compare/solution/bi-jiao-han-tui-ge-de-zi-fu-chuan-by-leetcode-solu/
來(lái)源:力扣(LeetCode)
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)捻勉,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處镀梭。
class Solution:
def backspaceCompare(self, s: str, t: str) -> bool:
return self.transform_str(s) == self.transform_str(t)
def transform_str(self, s:str):
transform = ''
for c in s:
if c == '#':
transform = transform[:-1]
else:
transform += c
return transform