判断字符串括号是否成对python,Python 中括号
本文主要介绍python实现有效括号判断的相关信息。通过示例代码详细介绍,对您的学习或工作有一定的参考价值。有需要的朋友可以参考一下。
00-1010标题描述测试用例代码实施总结
目录
给定一个只包含 (,), { , } ,[,]的字符串S,判断该字符串是否有效。
有效的字符串需要满足:
左括号必须用相同类型的右括号括起来。左括号必须以正确的顺序关闭。LeetCode原地址:https://leetcode-cn.com/problems/valid-parentheses/
题目描述
示例1
Enter: s="()"
输出:真
示例2
输入:s="() [] {} "
输出:真
示例3
Enter: s="(]"
输出:假
实例4
输入:s="([)]"
输出:假
实例5
输入:s="{[]} "
输出:真
测试用例
为了实现这个算法,我们可以利用堆栈的先入后出特性。对于每个括号,它需要找到与之匹配的括号。
我们首先遍历字符串并将字符存储在堆栈中。匹配结束括号时,如果栈不为空,栈顶字符与当前括号匹配,我们就将栈顶字符弹出,否则直接返回False。如果最后一个栈为空,说明每个括号都找到了匹配的结束括号,否则匹配失败。
类别解决方案:
def isValid(self,s: str) - bool:
#如果字符串是奇数,一定不满足条件。
if len % 2!=0:
返回False
#定义一个括号字典
bracket_dict={): (,]:[, }:{}
#定义堆栈
stack=[]
对于s:中的c
#当括号的终止符匹配时
if c in bracket_dict:
#堆栈不能为空,并且堆栈的顶部必须与右括号匹配。
if len(stack) 0和bracket _ dict[c]==stack[-1]:
stack.pop()
else:
返回False
else:
堆栈.追加(c)
返回不堆栈
s=解决方案()
print(s.isValid(()[]{} ))
print(s.isValid(([)]))
参考:LeetCode的详细解释
代码实现
关于python的有效括号判断的这篇文章到此为止。关于python有效括号判断的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。