首页 > 代码库 > Valid Parentheses
Valid Parentheses
典型的用栈(stack)结构解决问题的例子
class Solution: def isPair(self,s1,s2): if (s1==‘(‘ and s2==‘)‘)or (s2==‘(‘ and s1==‘)‘): return True if (s1==‘[‘ and s2==‘]‘)or (s2==‘[‘ and s1==‘]‘): return True if (s1==‘{‘ and s2==‘}‘)or (s2==‘{‘ and s1==‘}‘): return True else : return False def isValid(self, s): if s=="": return True pair_right=set([‘)‘,‘]‘,‘}‘]) if s[0] in pair_right : return False len_s=len(s) if len_s%2==1: return False i=1; stack=[s[0]] while(i<len_s): stack.append(s[i]) len_stack=len(stack) if len_stack>1: if self.isPair(stack[len_stack-1],stack[len_stack-2]): stack.pop() stack.pop() else: pass i+=1 len_stack=len(stack) if len(stack)==0: return True else: return False
Valid Parentheses
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。