Valid Parentheses - LeetCode

Valid Parentheses - LeetCode

题目:

Given a string containing just the characters '('')''{''}''[' and ']', determine if the input string is valid.

The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

分析:

这道题目就是一道考验栈的使用。对于python来说,这个直接使用list结构是很简单的。

代码:

在代码中,我使用了一个  strval的常量list,通过判断位置关系来选择。如果没有想到这个方法的可以借鉴一下。
class Solution:
    # @return a boolean
    def isValid(self, s):
        if not s:
            return True
        temp = [s[0]]
        strval = ['(',')','[',']','{','}']
        for i in s[1:]:
            if len(temp) == 0:
                 temp.append(i)
            elif strval.index(i) - strval.index(temp[-1]) == 1:
                 temp.pop()
            else:
                temp.append(i)
        if len(temp) == 0:
            return True
        else:
            return False


你可能感兴趣的:(LeetCode,python)