题目描述请点击查看LeetCode 题目描述
Python3 代码解答如下:
class Solution:
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
"""
有效的字符串的: (){}[] 、 ({[]})
"""
stack = [] #存放所有的左括号
mapping = {")":"(", "}":"{", "]":"["}
for char in s:
if char in mapping:
#是右括号的话并且列表非空,则比较最后一个元素是否与当前元素相等
top_element = stack.pop() if stack else '#'
if mapping[char] != top_element:
return False
else:
#是左括号,则追加到列表中
stack.append(char)
#当列表为空时,则是有效的字符串
return not stack