您的位置:首页 > 娱乐 > 八卦 > 驻马店app和网站开发公司_企业培训视频_免费正规的接单平台_爱站权重

驻马店app和网站开发公司_企业培训视频_免费正规的接单平台_爱站权重

2025/5/1 12:06:05 来源:https://blog.csdn.net/zhouky1993/article/details/146556264  浏览:    关键词:驻马店app和网站开发公司_企业培训视频_免费正规的接单平台_爱站权重
驻马店app和网站开发公司_企业培训视频_免费正规的接单平台_爱站权重

题目:给定一个由 一系列括号 '(','{','[',')','}',']'组成的字符串,要求判断括号是否有效。

示例1:"()",有效

示例2:"{}[]([])",有效

示例3:"{[}]",无效。

解题思路:判断括弧是否有效的依据为,右括弧必须有对应的左括弧与之形成闭合,且顺序正确。所以此处我们可以用栈先进后出的特性进行解题。

1.当我们获取到左括弧时,将其压入栈中;

2.当我们获取到右括弧时,取最后进入栈中的左括弧进行配对,若配对失败则无效;此处需注意,如果栈中为空,证明没有左括弧与之形成配对,所以也是无效的括弧。

3.当我们遍历完所有括弧后,若栈为空,证明全部配对完成,是有效的括弧,反之无效。

代码:

class Solution {public boolean isValid(String s) {Stack<Character> stack = new Stack<Character>();//将字符串转成字符数组并遍历char[] chars = s.toCharArray();for (char c : chars) {//遇见左括弧,将其压入栈中if (c == '{' || c == '(' || c == '[') {stack.push(c);   }//遇见右括弧 else {//如果栈为空,证明没有左括弧可以与该右括弧配对if (stack.isEmpty()) {return false;}//取栈中最后一个括弧与之配对char top = stack.pop();if (top == '(' && c != ')') {return false;}if (top == '[' && c != ']') {return false;}if (top == '{' && c != '}') {return false;}}}//遍历完括弧后,若栈为空证明全部配对完成,是有效括弧,反之无效return stack.isEmpty();}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com