欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > leetcode 20.有效括号

leetcode 20.有效括号

2025/4/27 7:39:06 来源:https://blog.csdn.net/ranzhiyimu/article/details/146513983  浏览:    关键词:leetcode 20.有效括号

20. 有效的括号 - 力扣(LeetCode)

class Solution:def isValid(self, s: str) -> bool:stack = []for  i in s :if i  in ('(','{','[' ):stack.append(i)elif i in (')' ):# 这种情况是 栈弹出元素为空时候 ,右半部分的括号多出来一些 比如: [()]} if not stack:return Falsetemp=stack.pop()if temp !='(':return False elif i in('}'):if not stack:return Falsetemp=stack.pop()if temp !='{':return False elif i in(']'):if not stack:return Falsetemp=stack.pop()if temp !='[':return False if stack:  # 这种情况是,右半部分的括号全部匹配结束后, 栈元素还有剩余( 即左括号多了一部分) return Falsereturn True       

代码随想录中的 先 强行匹配 做了映射对应关系,  然后再判断映射的右半部分 是不是 符合真实的右侧部分的信息 ,

class Solution:def isValid(self, s: str) -> bool:stack = []for  i in s :# if i  in ('(','{','[' ):#     stack.append(i)if i == '(':stack.append(')')elif i== '[':stack.append(']')elif i == '{':stack.append('}')# elif i in (')' ):#     # 这种情况是 栈弹出元素为空时候 ,右半部分的括号多出来一些 比如: [()]} #     if not stack:#         return False#     temp=stack.pop()#     if temp !=i:#         return False # elif i in('}'):#     if not stack:#         return False#     temp=stack.pop()#     if temp !=i:#         return False # elif i in(']'):#     if not stack:#         return False#     temp=stack.pop()#     if temp !=i:#         return False else:if not stack:return Falsetemp=stack.pop()if temp !=i:return False if stack:  # 这种情况是,右半部分的括号全部匹配结束后, 栈元素还有剩余( 即左括号多了一部分) return Falsereturn True       

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词