一. 題目
題目
示例
二. 方法一: 棧
解題思路
將列表中的元素依次進棧
如果棧頂的3個元素一次是"c", 「b」, 「a」, 則彈出這3個元素
當遍歷完後, 棧為空, 則返回true; 否則, 返回false
解題**
def
isvalid
(self, s:
str)
->
bool
: stack =
for ele in s:
iflen
(stack)
>=
3and stack[-1
]=="c"and stack[-2
]=="b"and stack[-3
]=="a":
stack.pop(
) stack.pop(
) stack.pop(
)if stack:
return
false
else
:return
true
分析
時間複雜度: o(n)
空間複雜度: o(n)
三. 方法二: 字串替換
解題思路
解題**
def
isvalid
(self, s:
str)
->
bool
:while
"abc"
in s:
s = s.replace(
"abc",""
)return s ==
""
分析
時間複雜度: o(n)
空間複雜度: o(1)
Leetcode 1003 檢查替換後的詞是否有效
給定有效字串 abc 對於任何有效的字串v,我們可以將v分成兩個部分x和y,使得x y x和y連線 等於v。x或y可以為空 那麼,x abc y也同樣是有效的。例如,如果s abc 則有效字串的示例是 abc aabcbc abcabc abcabcababcc 無效字串示例是 abccba ab ...
LeetCode1003 檢查替換後的詞是否有效
給定有效字串 abc 對於任何有效的字串v,我們可以將v分成兩個部分x和y,使得x y x與y連線 等於v。x或y可以為空。那麼,x abc y也同樣是有效的。例如,如果s abc 則有效字串的示例是 abc aabcbc abcabc abcabcababcc 無效字串的示例是 abccba ab...
LeetCode 1003 檢查替換後的詞是否有效
給定有效字串 abc 對於任何有效的字串 v,我們可以將 v 分成兩個部分 x 和 y,使得 x y x 與 y 連線 等於 v。x 或 y 可以為空。那麼,x abc y 也同樣是有效的。例如,如果 s abc 則有效字串的示例是 abc aabcbc abcabc abcabcababcc 無效...