面试150 有效的括号

思路

通过栈去模拟,如果是遇到左括号,右括号进栈,如果当前栈一直为空或者当前元素与栈顶元素不相同,则说明不是有效的括号,直接返回False,然后如果当前元素和栈顶元素匹配,则将栈内的元素弹出。最后如果栈为空,说明是有效的括号,反则不是

python 复制代码
class Solution:
    def isValid(self, s: str) -> bool:
        stack=[]
        for i in range(len(s)):
            if s[i]=='(':
                stack.append(')') #右括号进栈
            elif s[i]=='{':
                stack.append('}')
            elif s[i]=='[':
                stack.append(']')
            elif len(stack)==0 or s[i]!=stack[-1]:#短路效应,需要先写前一个,不然可能遇到空栈操作
                return False
            else:
                stack.pop()
        if len(stack)==0:
            return True
        else:
            return False
相关推荐
码农幻想梦10 小时前
3405. W的密码(北京大学考研机试题)
字符串
元亓亓亓1 天前
考研408--数据结构--day5--栈与队列的应用
数据结构·考研··408·队列
码农幻想梦2 天前
3615. 单词个数统计
字符串
季明洵2 天前
反转字符串、反转字符串II、反转字符串中的单词
java·数据结构·算法·leetcode·字符串
2401_841495642 天前
【Python高级编程】近似串匹配
python·算法·动态规划·字符串·数组·时间复杂度·空间复杂度
闻缺陷则喜何志丹4 天前
【栈 递归】P8650 [蓝桥杯 2017 省 A] 正则问题|普及+
c++·数学·蓝桥杯·递归·
源代码•宸6 天前
Redis 攻略(Redis Object)
数据库·redis·后端·缓存·字符串·哈希表·type
拼好饭和她皆失7 天前
字符串题型练习
算法·字符串·哈希算法
沉默-_-7 天前
备战蓝桥杯--栈
数据结构·算法·力扣·
福赖9 天前
《堆 / 栈 / 静态区区别、内存泄漏原因及排查》
c++·内存··