码迷,mamicode.com
首页 > 其他好文 > 详细

20. Valid Parentheses

时间:2016-06-08 10:31:37      阅读:158      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!