隆尧做网站,太原晋民网站建设公司,yum wordpress php扩展,企业网页设计制作题目
. - 力扣#xff08;LeetCode#xff09;
给定一个只包括 (#xff0c;)#xff0c;{#xff0c;}#xff0c;[#xff0c;] 的字符串 s #xff0c;判断字符串是否有效。
有效字符串需满足#xff1a;
左括号必须用相同类型的右括号闭合。左括号必须以正确的…题目
. - 力扣LeetCode
给定一个只包括 (){}[] 的字符串 s 判断字符串是否有效。
有效字符串需满足
左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。 示例 1
输入s ()
输出true
示例 2
输入s ()[]{}
输出true
示例 3
输入s (]
输出false
示例 4
输入s ([])
输出true 提示
1 s.length 104s 仅由括号 ()[]{} 组成
思路
先建立一个栈stack用来存取从s中读取的字符串
遍历s中所有的字符串需要三个分支来对其进行分类
当前元素是(,{,[中的一个时这时候就向stack中添加一个该元素对应的另一个符号比如该元素时‘’就添加进来‘’这样一个对应添加对于后面的判断会更方便
当stack是空的时候或者该元素不等于stack的最后一个元素时就说明无法完成配对即可返回False结束即可
不满足以上两个条件时那就说明该元素是),],}中的一个即弹出stack最后一个元素即可
代码
class Solution:def isValid(self, s: str) - bool:if len(s) 0 or len(s) 1:return Falsestack []for i in s:if i (:stack.append())elif i {:stack.append(})elif i [:stack.append(])elif len(stack)0 or stack[-1]!i :return Falseelse:stack.pop()if len(stack) 0:return Trueelse:return False