码迷,mamicode.com
首页 > 编程语言 > 详细

[Leetcode][Python]20: Valid Parentheses

时间:2015-01-24 00:21:16      阅读:364      评论:0      收藏:0      [点我收藏+]

标签:

# -*- coding: utf8 -*-
‘‘‘
__author__ = ‘dabay.wang@gmail.com‘

20: Valid Parentheses
https://oj.leetcode.com/problems/valid-parentheses/

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.

===Comments by Dabay===
用一个stack来保存左括号,如果来的是对应的右括号,就pop一个;如果来的是不对应的右括号,直接return False。
‘‘‘

class Solution:
# @return a boolean
def isValid(self, s):
stack = []
for c in s:
if c in "([{":
stack.append(c)
else:
if len(stack) == 0:
return False
if (
(c == ")" and stack[-1] == "(") or
(c == "]" and stack[-1] == "[") or
(c == "}" and stack[-1] == "{")
):
stack.pop()
else:
return False
else:
return len(stack) == 0


def main():
sol = Solution()
print sol.isValid("()[]{}")


if __name__ == ‘__main__‘:
import time
start = time.clock()
main()
print "%s sec" % (time.clock() - start)

[Leetcode][Python]20: Valid Parentheses

标签:

原文地址:http://www.cnblogs.com/Dabay/p/4245267.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!