• 4.有效的括号


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

    有效字符串需满足:

    左括号必须用相同类型的右括号闭合。
    左括号必须以正确的顺序闭合。
     

    示例 1:

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

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

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

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

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

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/valid-parentheses
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    解题思路:

    这道题看到别人的思路,瞬间跪了。

    简直不能太牛,自己就不献丑了。

    外面一个大while循环,判断字符串中是否包含()[] {},只要包含其中任意一个则进入循环。

    循环中,将成对的()[] {}全部替换成空字符串,一直到找不到成对的。

    最后直接判断替换之后的字符串是否为空,如果不为空,说明存在不成对的括号。

    牛掰!

     1 class Solution(object):
     2     def isValid(self, s):
     3         """
     4         :type s: str
     5         :rtype: bool
     6         """
     7         while "()" in s or "[]" in s or "{}" in s:
     8             s = s.replace("()", "")
     9             s = s.replace("[]", "")
    10             s = s.replace("{}", "")
    11         return s == ""
    最懒的人就是整天忙得没时间学习、反思、成长的人。
  • 相关阅读:
    网络流24题
    Songwriter CF1252-E(贪心)
    Card Collector AtCoder
    Game on a Tree Gym
    图书管理系统五
    bfs+状态压缩dp
    最短路径(邻接矩阵)
    求小于等于k长度的最大区间和
    链表实现队列C语言写法
    图书管理系统四
  • 原文地址:https://www.cnblogs.com/jockeyhao/p/15789198.html
Copyright © 2020-2023  润新知