括号匹配 python
时间: 2024-04-15 10:23:47 浏览: 141
python-括号匹配
在Python中,括号匹配是指检查一个字符串中的括号是否正确配对的过程。正确的括号匹配意味着每个左括号都有与之匹配的右括号,并且括号之间的嵌套关系也是正确的。
以下是一种常见的括号匹配算法的实现方式:
1. 创建一个空栈(可以使用列表来模拟栈)。
2. 遍历字符串中的每个字符:
- 如果字符是左括号('('、'['、'{'),将其压入栈中。
- 如果字符是右括号(')'、']'、'}'),则检查栈顶元素是否与之匹配:
- 如果栈为空或栈顶元素与当前字符不匹配,则括号不匹配,返回False。
- 如果栈顶元素与当前字符匹配,则将栈顶元素弹出。
3. 遍历完字符串后,检查栈是否为空:
- 如果栈为空,则括号匹配成功,返回True。
- 如果栈不为空,则括号不匹配,返回False。
下面是一个示例代码实现:
```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[-1] != mapping[char]:
return False
stack.pop()
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
```
阅读全文