python实现有效的括号判断实例代码
目录
- 题目描述
- 测试用例
- 代码实现
- 总结
题目描述 给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
测试用例 示例 1
输入:s = “()”示例 2
输出:true
输入:s = “()[]{}”示例 3
输出:true
输入:s = “(]”示例 4
输出:false
输入:s = “([)]”示例 5
输出:false
输入:s = “{[]}”
输出:true
代码实现 实现这个算法我们可以利用栈的先进后出的特性,对于每个括号它需要找到与它匹配的括号。
我们先遍历字符串,将字符串的字符存入到栈中,当匹配到结束的括号时,如果此时栈不为空并且栈顶的字符与当前的括号相匹配时,我们将栈顶的字符进行出栈操作,否则直接返回False。如果最终栈为空表示每个括号都找到了匹配的结束括号,否则匹配失败。
class Solution:def isValid(self, s: str) -> bool:#如果字符串是奇数一定不满足条件if len(s) % 2 != 0:return False#定义一个括号字典bracket_dict = {")":"(","]":"[","}":"{"}#定义一个栈stack = []for c in s:#当匹配到括号的结束符时if c in bracket_dict:#栈不能为空,并且栈顶要与结束的括号匹配if len(stack) > 0 and bracket_dict[c] == stack[-1]:stack.pop()else:return Falseelse:stack.append(c)return not stacks = Solution()print(s.isValid("()[]{}"))print(s.isValid("([)]"))
参考:LeetCode详解
总结 到此这篇关于python实现有效的括号判断的文章就介绍到这了,更多相关python有效的括号判断内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- C#循环与循环控制的表达式树实现
- Jackson2的JsonSchema实现java实体类生成json方式
- python常用内置模块你了解吗
- Java编写实现坦克大战小游戏
- 详解Nacos 配置中心客户端配置缓存动态更新的源码实现
- 云原生技术赋能ISV实现应用现代化
- C++实现校园导游系统
- 如何利用Python实现n*n螺旋矩阵
- C语言实现二叉树层次遍历介绍
- 蓝桥杯|蓝桥杯——1.2递归实现排列型枚举