python数据结构--有效的括号
2020-05-23 11:37 abce 阅读(831) 评论(0) 编辑 收藏 举报题目来源:中国大学MOOC-北京大学-数据结构与算法python版本
题目内容:
给定一个只包括
'(',')','{','}','[',']'
的字符串,判断字符串是否有效。
有效字符串需满足:
-
左括号必须用相同类型的右括号闭合。
-
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
输入格式:
一行字符串
输出格式:
True或False,表示该输入是否为合法括号串
输入样例1:
([])
输出样例1:
True
输入样例2:
{{)]}
输出样例2:
False
时间限制:500ms内存限制:32000kb
解法1:
class Solution: def isValid(self, s): while '{}' in s or '()' in s or '[]' in s: s = s.replace('{}', '') s = s.replace('[]', '') s = s.replace('()', '') return s == ''
解法2:
class Solution(object): def isValid(self, s): stack = [] judge = {'()','[]','{}'} for i in s: if not stack: stack.append(i) else: if stack[-1]+i in judge: stack.pop() else: stack.append(i) return stack == []