https://leetcode.com/problems/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
这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的这是凑字数的
class Solution:
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
while '[]' in s or '()' in s or '{}' in s:
s = s.replace('[]','').replace('()','').replace('{}','')
return len(s) == 0
class Solution:
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
stack = []
left = '({['
right = ']})'
for chart in s:
if chart in left:
stack.append(chart)
if chart in right:
if not stack:
return False
temp = stack.pop()
if chart == '}' and temp != '{':
return False
if chart == ']' and temp != '[':
return False
if chart == ')' and temp != '(':
return False
return stack == []