题解 | #有效括号序列#

有效括号序列

https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2

class Solution:
    def isValid(self, s: str) -> bool:
        # 定义一个字典用于匹配左右括号
        bracket_map = {')': '(', '}': '{', ']': '['}
        # 初始化一个空栈
        stack = []
        
        # 遍历字符串
        for char in s:
            # 如果是左括号,压入栈中
            if char in bracket_map.values():
                stack.append(char)
            # 如果是右括号
            elif char in bracket_map:
                # 检查栈是否为空或者栈顶的左括号是否与当前右括号匹配
                if not stack or stack[-1] != bracket_map[char]:
                    return False  # 不匹配,返回False
                stack.pop()  # 匹配,弹出栈顶元素
            else:
                # 遇到非括号字符,根据题目描述这实际上不应出现,但这里可选择忽略或处理
                continue  # 或者是 return False,具体看题目要求是否允许非括号字符
        
        # 遍历结束后,如果栈为空,说明所有括号都已正确闭合
        return not stack

全部评论

相关推荐

球球别再泡了:坏,我单9要了14
点赞 评论 收藏
分享
死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务