首页 > 其他 > 详细

4.栈

时间:2020-06-11 16:23:34      阅读:44      评论:0      收藏:0      [点我收藏+]

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

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.栈

原文:https://www.cnblogs.com/doupi/p/13093732.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!