zoukankan      html  css  js  c++  java
  • leetcode20. 有效的括号 🌟

    题目:

      给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。

      有效字符串需满足:

        左括号必须用相同类型的右括号闭合。
        左括号必须以正确的顺序闭合。
        注意空字符串可被认为是有效字符串。

    示例 1:

      输入: "()"
      输出: true
    示例 2:

      输入: "()[]{}"
      输出: true
    示例 3:

      输入: "(]"
      输出: false
    示例 4:

      输入: "([)]"
      输出: false
    示例 5:

      输入: "{[]}"
      输出: true

    来源:力扣(LeetCode)

    解答:

    class Solution:
        def isValid(self, s: str) -> bool:
            if len(s) % 2 != 0:
                return False
    
            open_close_map = {
                '}': '{',
                ')': '(',
                ']': '['
            }
            stack = []
            for bracket in s:
                if bracket in open_close_map.values():
                    stack.append(bracket)
                else:
                    if stack and stack.pop() != open_close_map[bracket]:
                        return False
    
            return not stack
    View Code
  • 相关阅读:
    百度--买帽子
    网易--双核处理器
    京东--通过考试
    简单错误记录
    链表中的倒数第k个结点
    数值的整数次方
    二进制中1的个数
    TCP 三次握手
    旋转数组的最小数字
    用两个栈实现队列
  • 原文地址:https://www.cnblogs.com/catyuang/p/11110690.html
Copyright © 2011-2022 走看看