20. Valid Parentheses

valid_parentheses

valid_parentheses

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

An input string is valid if:

Open brackets must be closed by the same type of brackets. Open brackets must be closed in the correct order. Note that an empty string is also considered valid.

Example 1:

Input: "()"
Output: true
Example 2:

Input: "()[]{}"
Output: true
Example 3:

Input: "(]"
Output: false
Example 4:

Input: "([)]"
Output: false
Example 5:

Input: "{[]}"
Output: true
Tip

Stack.

图片来自:https://github.com/MisterBooo/LeetCodeAnimation

Answer
class Solution:
    def isValid(self, s: str) -> bool:
        dic = {
            ')':'(',
            '}':'{',
            ']':'['
        }
        stack = []
        for i in s:
            if stack and dic.get(i,None) == stack[-1]:
                stack.pop()
            else:
                stack.append(i)
        return stack == []

最后更新: 2020-01-11

评论