leetcode 题目 valid parentheses 不能理解stack 是回空值

此题目的目的是要验证 (),[],{} 的正确性。如果传入符合以上三种,输出true, 否则false

def isValid(s):

    stack = []

    for i in range(len(s)):

        if s[i] == '(' or s[i] == '[' or s[i] == '{':

            stack.append(s[i])

            print stack

        if s[i] == ')':

            if stack == [] or stack.pop() != '(':

                return False

        if s[i] == ']':

            if stack == [] or stack.pop() != '[':

                return False

        if s[i] == '}':

            if stack == [] or stack.pop() != '{':

                return False

    if stack:

        return False

    else:

        return True

        

>>>print isValid('()')

>>>True


以上代码 如果传入 '()' 返回是True 但不理解在什么时候stack 变空了。 我觉得应该是()才对

慕粉0849275158
浏览 1209回答 0
0回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python