20. Valid Parentheses
Easy
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
笔记:
这个题考查的是配对问题,使用栈来解决。另外需要主要输入的字符串为空的情况,返回True。注意要求返回的类型是Bool类型。
pyhton 中的list其实就是相当于一个栈。
class Solution(object):
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
if not s:
return True
char = {'(':1, ')':-1, '{':2, '}':-2, '[':3, ']':-3}
stack_c = [s[0]]
for c in s[1:]:
if len(stack_c) != 0 and char[c] + char[stack_c[-1]] == 0:
stack_c.pop()
else:
stack_c.append(c)
if len(stack_c) == 0:
return True
return False