4.栈

Posted doupi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.栈相关的知识,希望对你有一定的参考价值。

判断字符串里面的括号是否是成对出现

SYMBOLS = {}: {, ]: [, ): (, >: <}
SYMBOLS_L, SYMBOLS_R = SYMBOLS.values(), SYMBOLS.keys()
def check(s):
 stack = []
 for c in s:
  if c in SYMBOLS_L:
   # 左符号入栈
   stack.append(c)
  elif c in SYMBOLS_R:
   # 右符号要么出栈,要么匹配失败
   if stack and stack[-1] == SYMBOLS[c]:
    stack.pop()
   else:
    return False
 return True
print(check("3 * {3 +[(2 -3) * (4+5)]}"))
print(check("3 * {3+ [4 - 6}]"))

以上是关于4.栈的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段4——cli的终端命令大全

web代码片段

方法与对象内存分析

Xcode 4.6 的备份代码片段

4.3 合并重复的条件执行片段

Android Studio - 带回栈的导航抽屉