zoukankan      html  css  js  c++  java
  • LeetCode-020有效的括号

    题目描述:

    给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
    
    有效字符串需满足:
    左括号必须用相同类型的右括号闭合。
    左括号必须以正确的顺序闭合。
    注意空字符串可被认为是有效字符串。
    
    示例 1:
    输入: "()"
    输出: true
    
    示例 2:
    输入: "()[]{}"
    输出: true
    
    示例 3:
    输入: "(]"
    输出: false
    
    示例 4:
    输入: "([)]"
    输出: false
    
    示例 5:
    输入: "{[]}"
    输出: true
    

    解析:

    1.建立一个映射表,方便stack弹出时判断

    2.如果stack弹出来时判断不等则直接返回False

    # 代码部分:
    
    def isValid(string):
        map = {'[':']',
              '{':'}',
              '(':')'}
        stack = []
        for s in string:
            if s == '[' or s == '{' or s == '(': 
                stack.append(s)
            if s == ']' or s == '}' or s == ')':
                if len(stack) == 0:
                    return False
                top = stack.pop() 
                if s != map[top]:
                    return False
        return len(stack) == 0
    isValid('[{[]}]}')  #Flase
    
  • 相关阅读:
    2019/10/9 CSP-S 模拟测
    简单的面向对象
    魔术变量
    函数
    全局变量
    超级全局变量
    for循环
    while循环
    php数组排序
    python打造XslGenerator
  • 原文地址:https://www.cnblogs.com/implanck/p/12257235.html
Copyright © 2011-2022 走看看