给定一个只包括 '('
,')'
,'{'
,'}'
,'['
,']'
的字符串,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
1 class Solution: 2 def isValid(self, s): 3 """ 4 :type s: str 5 :rtype: bool 6 7 """ 8 9 if len(s) == 0:10 return True11 if len(s) % 2 == 0:12 """13 parts = ['()', '{}', '[]']14 for part in parts:15 s = s.replace(part, '')16 if s == '':17 return True18 else:19 return False20 21 else:22 return False23 """24 while '()' in s or '{}' in s or '[]' in s:25 s = s.replace('()','').replace('{}','').replace('[]','')26 27 if s =='':28 return True29 else:30 return False31 else:32 return False
replace()函数把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
str.replace(old, new[, max])