NO.20有效的括号

复制代码
#利用栈的特性,先进后处,刚好进行比较,{[()]}分别进行比较
class Solution:
    def isValid(self, s: str) -> bool:
        stk = []
        for c in s:
            # 如果c是 ({[ 则入栈
            if c in ['(','[','{']:
                stk.append(c)
            elif c == ')' and stk and stk[-1] == '(': #得判断stack是否为空
                stk.pop();
            elif c == ']' and stk and stk[-1] == '[':
                stk.pop();
            elif c == '}' and stk and stk[-1] == '{':
                stk.pop()
            else:
                return False
        return not stk # 0, 空列表[], 空字典{}, 空元组()都相当于False,not stack表示当stack为空返回true
复制代码

 

 
posted @   是冰美式诶  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示