题解 | 括号配对问题

括号配对问题

https://www.nowcoder.com/practice/57260c08eaa44feababd05b328b897d7

s = input().strip()stack = []

定义括号匹配映射(右括号对应左括号)

match = {')': '(', ']': '['}

for char in s:# 只处理括号字符if char in match.values(): # 遇到左括号,入栈stack.append(char)elif char in match.keys(): # 遇到右括号,检查匹配if not stack or stack.pop() != match[char]:print("false")exit() # 不匹配直接退出# 其他字符忽略,不处理

所有括号处理完,栈空则合法

print("true" if not stack else "false")

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务