• 有效的括号 python


    # 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 
    #
    # 有效字符串需满足:
    #
    #
    # 左括号必须用相同类型的右括号闭合。
    # 左括号必须以正确的顺序闭合。
    #
    #
    #
    #
    # 示例 1:
    #
    #
    # 输入:s = "()"
    # 输出:true

    方法:根据栈性质

    # leetcode submit region begin(Prohibit modification and deletion)
    class Solution:
        def isValid(self, s: str) -> bool:
            if len(s) % 2 == 1:
                return False
            stack = list()  # 初始堆
            pairs = {"}": "{", ")": "(", "]": "["}  # 建立哈希表
            for ch in s:
                # 当前字符是左字符,要出栈
                if ch in pairs:
                    # 栈不为空,但栈的最后一个元素不是左字符,不合法
                    if not stack or stack[-1] != pairs[ch]:
                        return False
                    stack.pop()
                # 右字符要入栈
                else:
                    stack.append(ch)
            # 最终栈为空就是合法了
            return not stack
    # leetcode submit region end(Prohibit modification and deletion)
    时刻记着自己要成为什么样的人!
  • 相关阅读:
    mysql高并发配置
    php xml转array的方法
    双系统,一系统损坏后的解决方案之硬盘启动
    最长公共前缀
    罗马数字转整数
    回文数
    整数反转
    一、数组---两数之和
    从尾到头打印链表
    替换空格
  • 原文地址:https://www.cnblogs.com/demo-deng/p/14949679.html
Copyright © 2020-2023  润新知