资讯专栏INFORMATION COLUMN

验证大小中括号是否成对闭合匹配

QiShare / 3060人阅读

摘要:验证大小中括号是否成对闭合匹配验证大小中括号是否成对闭合匹配。

验证大小中括号是否成对闭合匹配 Valid Parentheses

验证大小中括号是否成对闭合匹配。

Given a string containing just the characters "(", ")", "{", "}", "[" and "]", determine if the input string is valid.

The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not..

example 1

input: "{{()}}"
output: True

example 2

input: "(([)])"
output: False

example 3

input: ""
output: True
思路

使用栈(先进后出)

如果遇到左边符号{[(,则将其对应的右边符号}])入栈,如果遇到右边符号,则判断栈顶元素是否匹配,不匹配则返回False

最后栈空,则完全闭合匹配,返回True

代码
class Solution(object):
    def isValid(self, s):
        """
        :type s: str
        :rtype: bool
        """
        brackets = {
            "(": ")",
            "[": "]",
            "{": "}"
        }
        stack = []
        for i in s:
            if i in brackets:
                stack.append(brackets[i])
            elif i in brackets.values():
                if len(stack) == 0 or stack.pop(-1) != i:
                    return False
        return len(stack) == 0

本题以及其它leetcode题目代码github地址: github地址

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38663.html

相关文章

  • zepto源码中的正则表达式

    摘要:本文主要分析对象是的源码中的正则表达式。表示空白符,包括空格,水平制表符,垂直制表符,换行符,回车符,换页符。 对于Zepto源码分析,可以说是每个前端修炼自己js技能的必经之路。当然,在读源码过程中,比较难以理解的地方,就是里面出现的各种神奇的正则表达式。 本文主要分析对象是zepto@1.1.6的源码中的正则表达式。 这篇文章,主要总结了zepto源码中使用到的一些正则表达式,分析...

    dinfer 评论0 收藏0
  • LeetCode 之 JavaScript 解答第20题 —— 有效的括号(Valid Parent

    摘要:小鹿题目给定一个只包括,,,,,的字符串,判断字符串是否有效。有效字符串需满足左括号必须用相同类型的右括号闭合。注意空字符串可被认为是有效字符串。除去这两种情况都不是符合条件的。 Time:2019/4/11Title: Valid ParenthesesDifficulty: EasyAuthor: 小鹿 题目:Valid Parentheses Given a string c...

    novo 评论0 收藏0
  • 构造n个成对括号

    摘要:构造个成对括号给出一个整数,实现一个函数生成对小括号,对小括号的左右括弧顺序不限,但应该闭合。思路的情况为时的括号串中在缝隙位置再插入一个括号,如中位置。递归解决,时为在和中再插入一个括号。 构造n个成对括号 Generate Parentheses 给出一个整数n,实现一个函数生成n对小括号,n对小括号的左右括弧顺序不限,但应该闭合。 Given n pairs of parent...

    姘搁『 评论0 收藏0
  • JS括号匹配问题

    摘要:在上做了一道括号匹配的题目。题目判断字符串中的三种括号是否匹配,需要考虑嵌套的情况。是,则表示完全匹配,否则,比匹配。 在codewars上做了一道括号匹配的题目。 题目 判断字符串中的{}、[]、()三种括号是否匹配,需要考虑嵌套的情况。 例子: validBraces((){}[]) // true validBraces((}) // false va...

    lordharrd 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<