LeetCode 387. 字串中的第一個唯一字元 (Java)
阿新 • • 發佈:2020-12-24
20. 有效的括號
這是我刷了幾天題以來第一道標著“簡單”同時我也覺得還算簡單的題,蛋疼
class Solution(object):
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
stack = []
# 抄別人的,本來我是用if一個個判斷的,好傻
mapping = {
')' : '(',
']': '[',
'}': '{'
}
for char in s:
# 考慮stack為空的情況,否則stack[-1]會報錯
if char in mapping and stack: # if stack 等同於 if stack != []
if mapping[char] == stack[-1]:
stack.pop() # 彈出list最後一個元素,要記住
else :
return False
else:
stack.append(char)
return not stack # python沒有!stack這種寫法!
# 等同於下面
# 如果stack不為空,則說明還有沒配對的括號
# if stack:
# return False
# else:
# return True