热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

leecode刷题有效的括号(python)

有效的括号1题目描述2解题思想3代码实现1题目描述给定一个只包括(,),{,},[,]的字符串s࿰

有效的括号

  • 1 题目描述
  • 2 解题思想
  • 3 代码实现


1 题目描述

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。

2 解题思想

引入栈的思想:
遍历字符串1)左括号全都入栈2)遇到右括号就出栈,然后匹配是否合适3)最后判断栈内元素是否为空(左括号元素和右括号完全匹配)

3 代码实现

class Solution:def isValid(self, s: str) -> bool:stack=[]s = "".join(s.split())if not s: ## 字符串为空,返回truereturn Trueelse :for i in s:if ( i=='(' or i=='[' or i=='{'):##左括号入栈stack.append(i)elif (i==')' or i==']' or i=='}'): ## 如果右括号if not stack: ## 栈中没有左元素,返回falsereturn Falsel=stack.pop() ## 右括号出栈if i==')':if l!="(":return False elif i==']':if l!="[":return False elif i=='}':if l!="{":return Falseelse:return Falseif not stack: ## 栈中没有元素返回truereturn Trueelse: return False


推荐阅读
author-avatar
姿萱俊达俊宏
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有