python括号匹配问题
时间: 2023-05-20 16:04:22 浏览: 200
Python实现求解括号匹配问题的方法
Python括号匹配问题可以通过使用栈来解决。具体来说,我们可以遍历字符串中的每个字符,如果遇到左括号,则将其压入栈中;如果遇到右括号,则将栈顶元素弹出,如果弹出的元素不是对应的左括号,则说明括号不匹配。最后,如果栈为空,则说明所有括号都匹配。以下是一个示例代码:
```
def is_valid_parentheses(s: str) -> 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
```
这个函数接受一个字符串作为输入,返回一个布尔值,表示括号是否匹配。我们使用一个栈来保存左括号,每当遇到右括号时,就从栈中弹出一个元素,如果弹出的元素不是对应的左括号,则说明括号不匹配。最后,如果栈为空,则说明所有括号都匹配。
阅读全文