合法括号序列判断
链接: https://www.nowcoder.com/practice/d8acfa0619814b2d98f12c071aef20d4?tpId=8&&tqId=1103
9&rp=1&ru=/activity/oj&qru=/ta/cracking-the-coding-interview/question-ranking
【题目解析】:
本题考查的是对栈的应用
【解题思路】:
用栈结构实现,栈中存放左括号,当遇到右括号之后,检查栈中是否有左括号,如果有则出栈,如果没有,
则说明不匹配。
import java.util.*;
public class Parenthesis {
public boolean chkParenthesis(String A, int n) {
// write code here
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();
}
}

 posted on 2023-10-31 21:10  dapaige  阅读(8)  评论(0)    收藏  举报  来源