• 有效的括号


    给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。
    括号必须以正确的顺序关闭,”()” 和 “()[]{}” 是有效的但是 “(]” 和 “([)]” 不是。

    思路:

    利用一个列表模拟堆栈进行匹配,遍历字符串,遇见左括号就进行入栈操作,遇见一次右括号就进行一次出栈,并进行一次比较。例如栈内的符号是:({,下一个遍历的字符是},见到右括号则进行一次出栈操作,进行一次比较,比较的是{和}两个符号,是匹配的,则接着遍历下一个位置。利用字典的键值对特性进行比较

    代码如下:

    class Solution:
        def isValid(self, s):
            if len(s) % 2 == 1:#偶数个符号才是一定匹配的
                return False
    
            d = {'{': '}', '[': ']', '(': ')'}
            stack = []
            for i in s:
                # in stack
                if i in d:
                    stack.append(i)
                else:
                    if not stack or d[stack.pop()] != i:
                        return False
    
            return stack ==[]
  • 相关阅读:
    异步任务----django-celery
    signal函数
    shell脚本字符显示颜色
    echo输出到文件
    windows下opencv安装
    模板
    下载vs地址
    关联容器 map
    构造函数初始化列表
    assert() fflush()
  • 原文地址:https://www.cnblogs.com/tsdblogs/p/12325480.html
Copyright © 2020-2023  润新知