欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > Java数据结构应用(力扣题20. 有效的括号)

Java数据结构应用(力扣题20. 有效的括号)

2024/10/26 2:24:20 来源:https://blog.csdn.net/2301_77721901/article/details/142220222  浏览:    关键词:Java数据结构应用(力扣题20. 有效的括号)

给定一个只包括 '('')''{''}''['']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

示例 1:

输入:s = "()"

输出:true

示例 2:

输入:s = "()[]{}"

输出:true

示例 3:

输入:s = "(]"

输出:false

示例 4:

输入:s = "([])"

输出:true

创建一个栈,左括号入栈,右括号出栈,进行括号匹配的判断,注意最好要返回的是栈内元素的个数

class Solution {public  boolean isValid(String s) {char cz;Stack<Character> stack=new Stack();if(s==null||s.length()==0){return true;}else{for (int i = 0; i < s.length(); i++) {char c=s.charAt(i);if(c=='{'||c=='['||c=='('){stack.push(c);//左括号入栈}else{if(stack.isEmpty()){return false;}elsecz = stack.pop();if(((cz=='{'&&c=='}')||(cz=='['&&c==']')||(cz=='('&&c==')'))){}elsereturn false;}}}return stack.isEmpty();}
}

版权声明:

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

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