题解 | #牛群的秘密通信#

牛群的秘密通信

https://www.nowcoder.com/practice/f0047999594d4cd39f85d7347c6941af

  • 题目考察的知识点 : 对栈这种数据结构的灵活运用
  • 题目解答方法的文字分析 : 初始化一个空栈,从左到右遍历字符串,对于左括号,直接入栈, 对于右括号:检查栈是否为空,如果栈空则不匹配从栈顶弹出左括号, 检查弹出的左括号类型是否与当前右括号类型匹配, 直到匹配完所有字符,如果栈为空,说明所有括号匹配,否则不匹配
  • 本题解析所用的编程语言: Python3
  • 完整且正确的编程代码

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param s string字符串 
# @return bool布尔型
#
class Solution:
    def is_valid_cow_communication(self , s: str) -> bool:
        # write code here
        stack = []
        left = {'(', '{', '['}
        mapping = {')': '(', '}': '{', ']': '['}

        for char in s:
            if char in left:
                stack.append(char)
            elif not stack or mapping[char] != stack.pop():
                return False
        
        return True
牛客高频top202题解系列 文章被收录于专栏

记录刷牛客高频202题的解法思路

全部评论

相关推荐

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

创作者周榜

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