• python数据结构--有效的括号


    题目来源:中国大学MOOC-北京大学-数据结构与算法python版本

    题目内容:

    给定一个只包括

    '(',')','{','}','[',']'
    

    的字符串,判断字符串是否有效

    有效字符串需满足:

    1. 左括号必须用相同类型的右括号闭合。

    2. 左括号必须以正确的顺序闭合。

    注意空字符串可被认为是有效字符串。

    输入格式:

    一行字符串

    输出格式:

    True或False,表示该输入是否为合法括号串

    输入样例1:

    ([])
    

    输出样例1:

    True
    

    输入样例2:

    {{)]}
    

    输出样例2: 

    False
    

    时间限制:500ms内存限制:32000kb

    解法1:

    class Solution:
        def isValid(self, s):
            while '{}' in s or '()' in s or '[]' in s:
                s = s.replace('{}', '')
                s = s.replace('[]', '')
                s = s.replace('()', '')
            return s == ''
    

      

    解法2:

    class Solution(object):
        def isValid(self, s):
            stack = []
            judge = {'()','[]','{}'}
            for i in s:
                if not stack: 
                    stack.append(i)
                else:
                    if stack[-1]+i in judge:
                        stack.pop()
                    else:
                        stack.append(i)
                        
            return stack == []
    

      

  • 相关阅读:
    228. Summary Ranges
    227. Basic Calculator II
    224. Basic Calculator
    222. Count Complete Tree Nodes
    223. Rectangle Area
    221. Maximal Square
    220. Contains Duplicate III
    219. Contains Duplicate II
    217. Contains Duplicate
    Java编程思想 4th 第4章 控制执行流程
  • 原文地址:https://www.cnblogs.com/abclife/p/12941785.html
Copyright © 2020-2023  润新知