成化区建设局网站,网店装修素材,apico云开发平台,wordpress实现聊天功能一、题目描述#xff1a;
给定一个只包括 ‘(’#xff0c;‘)’#xff0c;‘{’#xff0c;‘}’#xff0c;‘[’#xff0c;‘]’ 的字符串 s #xff0c;判断字符串是否有效。
有效字符串需满足#xff1a;
左括号必须用相同类型的右括号闭合。左括号必须以正确…一、题目描述
给定一个只包括 ‘(’‘)’‘{’‘}’‘[’‘]’ 的字符串 s 判断字符串是否有效。
有效字符串需满足
左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。
示例 1 输入s “()”输出true 示例 2 输入s “()[]{}”输出true 示例 3 输入s “(]”输出false
提示 s 仅由括号 ‘()[]{}’ 组成1≤s.length≤1041 \leq s.length \leq 10^41≤s.length≤104
二、解决思路和代码
1. 解决思路
分析利用栈的后进先出的特点判断一下即可
2. 代码
class Solution:def isValid(self, s: str) - bool:kv [((,)), ([,]), ({,})]res []for ss in s:if ss in ((, [, {):res.append(ss)else:if len(res)0: return Falsestri res.pop()if (stri, ss) not in kv: return Falsereturn True if len(res)0 else False