def is_valid_parentheses(s): stack = [] mapping = {')': '(', ']': '[', '}': '{'} for char in s: if char in mapping.values(): 如果是左括号,压入栈中 stack.append(char) elif char in mapping.keys(): 如果是右括号 if not stack or stack[-1] != mapping[char]: 栈为空或栈顶不匹配 return False stack.pop() 匹配则弹出栈顶元素 else: return False 如果是非括号字符,直接返回False return not stack 最后检查栈是否为空,为空则说明全部匹配