leetcode6 括号匹配

示例 1:

复制代码
输入:s = "()"
输出:true

示例 2:

复制代码
输入:s = "()[]{}"
输出:true

示例 3:

复制代码
输入:s = "(]"
输出:false

法一:最容易想到的是利用堆栈,先检索遇到左括号push;如果不是左括号,先判断是否有左括号(栈非空)否则返回Fals,判断右括号和栈顶元素是否配对,配对就pop,否则就返回Fals;最后返回还要检查栈非空和是否成对

python 复制代码
class Solution:
    def isValid(self, s: str) -> bool:
        length=len(s)
        if length%2 !=0:
            return False
        else:
            s1=[]
            count=0
            for i in range(length):
                if s[i] in "({[":
                    s1.append(s[i])
                else:
                    if not s1:
                        return False
                    if s[i]==")" and s1[-1]=="(":
                        count+=1
                    elif s[i]=="]" and s1[-1]=="[":
                        count+=1
                    elif s[i]=="}" and s1[-1]=="{":
                        count+=1
                    else:
                        return False
                    s1.pop()                
            return not s1 and count==length//2     
相关推荐
uhakadotcom3 分钟前
NVIDIA Resiliency Extension(NVRx)简介:提高AI模型训练的容错能力
算法·面试
Tisfy3 分钟前
LeetCode 2843.统计对称整数的数目:字符串数字转换
算法·leetcode·字符串·题解
傍晚冰川5 分钟前
【STM32】解读启动文件startup_stm32f10x_md.s
linux·笔记·stm32·单片机·学习
极客先躯6 分钟前
高级java每日一道面试题-2025年4月01日-微服务篇[Nacos篇]-Nacos集群的数据一致性是如何保证的?
java·开发语言·微服务
二块烧肉11 分钟前
C语言 内存管理
c语言·开发语言
IT从业者张某某12 分钟前
Python数据可视化-第7章-绘制3D图表和统计地图
python·3d·信息可视化
Yyq1302086968213 分钟前
KTH5772 系列游戏手柄摇杆专用3D 霍尔位置传感器
算法·游戏·3d·小杨13020869682
攻城狮7号14 分钟前
Python爬虫第13节-解析库pyquery 的使用
爬虫·python·python爬虫
KyollBM19 分钟前
【CF】Day30——Codeforces Round 824 (Div. 2) C + Codeforces Round 825 (Div. 2) BC1
算法
DataFunTalk24 分钟前
复旦肖仰华:大模型的数据科学!
前端·后端·算法