JAVA栈实例—括号匹配

时间:2023-03-09 09:20:10
JAVA栈实例—括号匹配
 import java.util.Stack;

 public class test {
public static void main(String[] args){
System.out.print(isStringBalanced("asdasd)d"));
} public static boolean isStringBalanced(String string){
final char openrb = '('; //定义常量
final char closerb = ')';
Stack<Character> s = new Stack<Character>(); //新建栈
for (int i=0;i<string.length();i++){
if (string.charAt(i) == openrb){
s.push(openrb); //压入占顶
}else if(string.charAt(i) == closerb){
if (s.empty()){ //是否为空
s.push(closerb);
}else if ((char)s.peek() == openrb){ //查看栈顶元素,但是不弹出
s.pop(); //弹出栈顶元素
}else{
s.push(closerb);
}
} }
return s.empty();
}
}