题解 | #有效括号序列#

有效括号序列

http://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2

AB3 有效括号序列

思路:

step1:创建字典,使得各个括号一一对应;创建一个空栈stack;创建一个flag;
step2:遍历s,如果i是“([{” ,则添加到stack中;如果i是“)}]”,如果stack不是空,并且stack最后一个元素对应的括号等于i,则删除stack中的i;否则flag = False;
step3:如果flag为True并且stack为空,返回True;否则返回False;

代码如下:

class Solution:
    def isValid(self , s: str) -> bool:
        d = {'(':')','[':']','{':'}'}
        stack = []
        flag = True
        for i in s:
            if i in '{[(':
                stack.append(i)
            if i in ')]}':
                if stack != [] and d[stack[-1]] == i:
                    stack.pop()
                else:
                    flag = False
        
        if flag == True and stack == []:
            return True
        return False
全部评论

相关推荐

10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
评论
点赞
2
分享
牛客网
牛客企业服务