题目
: leetcode20 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。
示例 5:
输入: “{[]}”
输出: true
Related Topics栈 字符串
👍 1744 👎 0
解答:
class Solution(object):
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
stack = []
lookup = {"(": ")","{": "}","[" :"]"}
for p in s:
if p in lookup: # ([])
stack.append(p)
elif len(stack) == 0 or lookup[stack.pop()] != p: # ] or )
return False
# ( or [[
return len(stack) == 0
主要参考:B站讲解,用到堆栈的知识