Python 括号字符串匹配 LeetCode No.20


思路: 主要思路也很简单,这属于栈这种数据结构的简单题。首先我们应该把括号的左半边压入栈中,当遇到右括号的时候,通过栈的pop操作,推出栈顶元素,与之配对,匹配了,就代表当前的操作是没有问题的,不匹配那就错了呗。 当然还有一种情况,当所有右括号都被匹配的时候,栈里面还有元素,那就代表,错了呗,如果完全匹配,stack中的元素应该是空的。
class Solution(object):
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
stack = []
kohaomap = {"}":"{","]":"[",")":"("}
for i in s:
if i not in kohaomap:
stack.append(i)
elif not stack or kohaomap[i] != stack.pop():
return False
return not stack

本文解析了LeetCode上编号为20的题目——有效的括号匹配问题。采用栈这一数据结构来解决该问题,通过将左括号压入栈中,并在遇到右括号时进行匹配,以此验证括号序列的有效性。
4466

被折叠的 条评论
为什么被折叠?



