首页 > 其他 > 详细

20. Valid Parentheses

时间:2016-06-08 10:29:11      阅读:102      评论:0      收藏:0      [点我收藏+]

题目:

Given a string containing just the characters ‘(‘‘)‘‘{‘‘}‘‘[‘ and ‘]‘, determine if the input string is valid.

The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

链接:http://leetcode.com/problems/valid-parentheses/

一刷,右半部分的else中的两次判断可以合在一句,但是容易忽略pop,不够直观。

class Solution(object):
    def isValid(self, s):
        """
        :type s: str
        :rtype: bool
        """
        stack = []
        parenthese = {
            (: ),
            [: ],
            {: }
        }
        for char in s:
            if char in parenthese:
                stack.append(char)
            else:
                if not stack:
                    return False
                prev = stack.pop()
                if parenthese[prev] != char:
                    return False
        return False if stack else True

 

20. Valid Parentheses

原文:http://www.cnblogs.com/panini/p/5569202.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!