美文网首页
如何优雅的判断字符串中的括号是否完整

如何优雅的判断字符串中的括号是否完整

作者: 秸秆混凝烧结工程师 | 来源:发表于2022-01-19 10:47 被阅读0次

看例子,这里维护了一个栈,当遇到左括号我们入栈,当遇到右括号我们出栈。

image.png

'''
SYMBOLS = {'}':'{', ']':'[', ')':'('}
SYMBOLS_L, SYMBOLS_R = SYMBOLS.values(), SYMBOLS.keys()

def check(s):
arr = []
for c in s:
if c in SYMBOLS_L:
# 左符号入栈
arr.append(c)
elif c in SYMBOLS_R:
# 右符号要么出栈,要么匹配失败
if arr and arr[-1] == SYMBOLS[c]:
arr.pop()
else:
return False

return not arr

print(check("3 * {3 +[(2 -3) * (4+5)]}"))
print(check("3 * {3+ [4 - 6}]"))

'''

相关文章

  • 如何优雅的判断字符串中的括号是否完整

    看例子,这里维护了一个栈,当遇到左括号我们入栈,当遇到右括号我们出栈。 '''SYMBOLS = {'}':'{'...

  • 栈、队列解决问题

    栈解决括号匹配问题 一个字符串中包含小括号、中括号、大括号,判断该字符串中的括号是否匹配 ()()[]{} 匹配...

  • 算法---括号匹配

    给一个括号字符串序列,判断所有的括号是否匹配

  • 栈-E20-有效的括号

    题目 概述:给你一个只包含括号的字符串,判断该字符串中括号是否正确闭合,正确闭合的条件如下: 左括号必须与相同类型...

  • 栈和队列

    判断括号是否匹配:字符串中只含括号,如][],[{}], ()[]{[]}。当遇到一个字符的时候,由两条规则判断接...

  • 要成功就做一百题-93

    题目名称 有效的括号判断 描述 输入的字符串只包含{ [] } ()三种括号的组合,判断输入是否是有效的括号,如下...

  • Swift 有效的括号 - LeetCode

    题目: 有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效...

  • Leetcode 20 有效的括号

    有效的括号 题目 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 ...

  • leetcode学习整理

    1.20 有效的括号给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。...

  • 经典算法 — 有效的括号

    经典算法 — 有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否...

网友评论

      本文标题:如何优雅的判断字符串中的括号是否完整

      本文链接:https://www.haomeiwen.com/subject/hqlrhrtx.html