使用堆栈实现对于括号(三种括号)的匹配问题
算法思想
由于括号的使用刚好符合堆栈的先进后出原则,所以使用堆栈来实现括号的配对
括号匹配有以下四种结果
1、左右括号次序不匹配
2、左括号多于右括号
3、右括号多于左括号
4、刚好匹配
实现想法:
输入一段字符串,当遇到左括号,进栈,
遇到右括号时,取出栈顶的元素与右括号比较,如果不一致则输出 “左右类型不匹配”,一致的话则继续
若遇到右括号时,栈中为空则判断为右括号多于左括号 若字符串全部输入完毕,栈不为空,则判断为右括号少于左括号,若为空,则没毛病
实现代码
public class Page49 {
public static void main(String[] args) {
String str = "()";
Strings.judge(str);
}
}
class Strings{
public static void judge(String str){
//将字符串传入数组
String[] sc = str.split("");
Stack<String> stact =