嘿!
这期博客也是Java练习题
希望对你们有帮助!
前言
如果哪里您发现错误或者什么地方不理解的可以私聊我哦!谢谢~
一,题目
给定一个字符串A和其长度n,请返回一个bool值代表它是否为一个合法的括号串(只能由括号组成)。
二,解析
用栈结构实现,栈中存放左括号,当遇到右括号之后,检查栈中是否有左括号,如果有则出栈,如果没有,则说明不匹配。
三,代码
import java.util.Stack;
public class Main3 {
public boolean chkParenthesis(String A , int n){
if (n%2!=0){
return false;
}
Stack<Character> stack = new Stack<>();
for (char c:A.toCharArray()) {
if (c=='('){
stack.push(c);
}else if (c==')'){
if (stack.isEmpty()){
return false;
}else if (stack.peek() =='('){
stack.pop();
}
}else {
return false;
}
}
return stack.isEmpty();
}
}
好了,这期博客就到此结束了!
希望对你有帮助!
记得关注小猪哦!
那就下期再见咯~