力扣有效的括号python
时间: 2023-10-01 16:02:32 浏览: 190
python 实现有效的括号
要判断给定的字符串是否是有效的括号,可以使用栈的数据结构来解决。
以下是在 Python 中使用栈来判断有效括号的示例代码:
```python
def isValid(s):
stack = []
mapping = {")": "(", "}": "{", "]": "["}
for char in s:
# 如果当前字符是右括号
if char in mapping:
# 栈为空或栈顶元素与当前右括号不匹配,则返回 False
if not stack or stack[-1] != mapping[char]:
return False
# 栈顶元素与当前右括号匹配,将栈顶元素出栈
stack.pop()
else:
# 当前字符是左括号,将其压入栈中
stack.append(char)
# 如果最终栈为空,则表示所有括号都正确匹配
return not stack
# 示例
print(isValid("()")) # True
print(isValid("()[]{}")) # True
print(isValid("(]")) # False
print(isValid("([)]")) # False
print(isValid("{[]}")) # True
```
这段代码中,我们使用了一个栈来存储遍历到的括号字符。如果当前字符是左括号,则将其压入栈中;如果当前字符是右括号,则与栈顶元素比较,如果不匹配则返回 False,否则将栈顶元素出栈。最后,如果栈为空,则表示所有括号都正确匹配,返回 True;否则,返回 False。
注意,这里使用了一个字典 `mapping` 来保存右括号与其对应的左括号,方便判断是否匹配。
阅读全文