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 == ""
    最懒的人就是整天忙得没时间学习、反思、成长的人。
  • 相关阅读:
    解决跨操作系统平台JSON中文乱码问题
    httpencode编码
    DELPHI搭建centos开发环境
    cross socket和msgpack的数据序列和还原
    libmidas.so.2
    开发WINDOWS服务程序
    idhttp访问DATASNAP有密码验证的中间件
    接口操作XML
    HttpApplication中的异步线程
    Assembly类
  • 原文地址:https://www.cnblogs.com/jockeyhao/p/15789198.html
Copyright © 2011-2022 走看看