用python给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。
时间: 2024-01-31 08:00:48 浏览: 69
python 实现有效的括号
示例:
输入:s = "()[]{}"
输出:True
输入:s = "([)]"
输出:False
思路:
可以利用栈来解决这个问题。遍历给定的字符串,如果字符是左括号,则将其压入栈中;如果字符是右括号,则取出栈顶元素,如果栈顶元素不能与该右括号匹配,则返回 False;如果遍历完字符串后栈不为空,则返回 False。
代码实现:
class Solution:
def isValid(self, s: str) -> bool:
stack = []
mapping = {')': '(', '}': '{', ']': '['}
for char in s:
if char in mapping:
if not stack or stack.pop() != mapping[char]:
return False
else:
stack.append(char)
return not stack
阅读全文