题解 | #有效括号序列#

有效括号序列

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

全部评论

相关推荐

1jian10:48h没写面评会变成这样
点赞 评论 收藏
分享
03-26 13:04
已编辑
电子科技大学 算法工程师
xiaowl:你这个简历“条目上”都比较有深度性,但是实际上面试官又没法很好的评估你是怎么达到很多看上去很厉害的结果的。要避免一些看上去很厉害的包装,比如高效的内存复用策略的表达,如果仅是简单的一些内存共享机制,而且面试上也没有深挖的空间,就不要这样表达。比如,工程化模式本质上可能就是定义了一些abstract class,那也就没特别多值得讲的内容。建议简历上应该侧重那些你花了大量时间和精力解决、研究的问题,不要过分追求“丰富”,而是关注在技术深入度、问题解决能力的表现上。
没有实习经历,还有机会进...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务