zoukankan      html  css  js  c++  java
  • 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 == ""
    最懒的人就是整天忙得没时间学习、反思、成长的人。
  • 相关阅读:
    django 在保存数据前进行数据校验
    itertools
    python 发送请求
    python 异常处理
    python 对redis 键值对的操作
    python 对redis key的基本操作
    python 操作redis数据
    一只青蛙一次可以跳1阶或者2阶,n阶,有多少种到达终点的方式。
    Django 自定义扩展命令
    关于函数可变参数
  • 原文地址:https://www.cnblogs.com/jockeyhao/p/15789198.html
Copyright © 2011-2022 走看看