Python判断括号是否匹配
时间: 2024-04-24 18:19:42 浏览: 115
在Python中,可以使用栈的数据结构来判断括号是否匹配。具体步骤如下:
1. 创建一个空栈。
2. 遍历字符串中的每个字符。
3. 如果字符是左括号('('、'['、'{'),则将其压入栈中。
4. 如果字符是右括号(')'、']'、'}'),则检查栈是否为空。如果栈为空,则括号不匹配;如果栈不为空,则将栈顶元素弹出并与当前右括号进行匹配。如果匹配成功,则继续遍历;如果匹配失败,则括号不匹配。
5. 遍历完所有字符后,检查栈是否为空。如果栈为空,则括号匹配;如果栈不为空,则括号不匹配。
下面是一个示例代码实现:
```python
def is_valid_parentheses(s):
stack = []
mapping = {')': '(', ']': '[', '}': '{'}
for char in s:
if char in ['(', '[', '{']:
stack.append(char)
elif char in [')', ']', '}']:
if not stack or stack.pop() != mapping[char]:
return False
return len(stack) == 0
# 测试
print(is_valid_parentheses("()")) # True
print(is_valid_parentheses("()[]{}")) # True
print(is_valid_parentheses("(]")) # False
print(is_valid_parentheses("([)]")) # False
print(is_valid_parentheses("{[]}")) # True
```
阅读全文