牛客网---合法括号序列判断
发布日期:2021-05-10 10:39:01 浏览次数:18 分类:精选文章

本文共 623 字,大约阅读时间需要 2 分钟。

对于给定的字符串,检查括号是否正确嵌套。为了确保所有左括号都有对应的右括号,且顺序正确,可以使用栈来进行检查。

技术细节:

  • 操作思路:当信息遇到左括号时,压栈。当遇到右括号时,弹栈并检查是否能够匹配。若在任何时候发现非括号字符或不能匹配的括号,就返回false。最后,确认栈是否为空。

代码实现:

class ParenthesisChecker:
def checkisValidParenthesis(s):
stack = []
for ch in s:
if ch == '(':
stack.append(ch)
elif ch == ')':
if not stack:
return False
stack.pop()
else:
return False
return len(stack) == 0

错误处理:

  • 如果遇到非括号字符,立即返回false。
  • 遇到多余的右括号导致栈为空,返回false。
  • 遍历完整个字符串后,检查栈是否为空,如果有剩余,返回false。

这段代码可以有效识别正确的括号结构,是处理括号匹配问题的标准方法。

上一篇:牛客网---Fibonacci数列
下一篇:华为机试---走方格的方案数

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月23日 05时10分54秒