此篇文章為我的解題紀錄,程式碼或許並不是很完善

Leetcode - 20. Valid Parentheses

解題思路

若是遇到左邊的就將他放進list裡,若是遇到右邊的就判斷他是否和list最後一個element成對,如過不成對則return false,反之則將list最後一個element刪除,最後list陣列內無element則為true。

我滴程式碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution:
def isValid(self, s: str) -> bool:
st = []
left = ["(", "{", "["]
dic = { ")": "(", "}": "{", "]": "[" }
for i in range(len(s)):
if s[i] in left:
st.append(s[i])
else:
if len(st) == 0:
return False
elif (st[len(st) - 1] != dic[s[i]]):
return False
else:
del st[len(st) - 1]
if len(st) == 0:
return True
else:
return False