给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。
时间: 2023-03-28 22:03:02 浏览: 160
python 实现给定一个字符串,找出不含有重复字符的最长子串的长度
5星 · 资源好评率100%
我可以回答这个问题。这个问题可以使用栈来解决。我们可以遍历字符串,如果遇到左括号,就将其下标入栈;如果遇到右括号,就将栈顶元素出栈,表示匹配成功,计算当前子串长度。如果栈为空,表示当前右括号没有匹配的左括号,将当前右括号下标入栈,继续遍历。最后栈中剩余的下标表示没有匹配的左括号,我们可以根据相邻下标之间的距离计算最长有效括号子串的长度。
阅读全文