leetcode6 括号匹配
2023-12-13 06:17:39
示例 1:
输入:s = "()" 输出:true
示例?2:
输入:s = "()[]{}" 输出:true
示例?3:
输入:s = "(]" 输出:false
法一:最容易想到的是利用堆栈,先检索遇到左括号push;如果不是左括号,先判断是否有左括号(栈非空)否则返回Fals,判断右括号和栈顶元素是否配对,配对就pop,否则就返回Fals;最后返回还要检查栈非空和是否成对
class Solution:
def isValid(self, s: str) -> bool:
length=len(s)
if length%2 !=0:
return False
else:
s1=[]
count=0
for i in range(length):
if s[i] in "({[":
s1.append(s[i])
else:
if not s1:
return False
if s[i]==")" and s1[-1]=="(":
count+=1
elif s[i]=="]" and s1[-1]=="[":
count+=1
elif s[i]=="}" and s1[-1]=="{":
count+=1
else:
return False
s1.pop()
return not s1 and count==length//2
文章来源:https://blog.csdn.net/weixin_64612422/article/details/134842168
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!