//判断括号匹配问题 public class Bracket_matching { //这是一个main方法,是程序的入口: public static void main(String[] args) { String st = "()()()"; //打印 System.out.println(Brackets(st)); } public static boolean Brackets(String str) { //创建栈来存储左括号 SqStackClass<String> st = new SqStackClass<>(); //遍历字符串 for (int i = 0; i < str.length(); i++) { String string = str.charAt(i) + ""; //判断是左括号就进栈 if (string.equals("(")) { st.push(string); } //判断是右括号就在栈顶比较 else if (string.equals(")")) { //如果在判断左括号与右括号匹配时栈为空着则返回false if (st.isEmpty()) { return false; } String pop = st.pop();//出栈元素括号 if (pop == null) { return false; } } } //判断是否还有左括号 if (st.size() == 0) { return true; } else { return false; } } }
栈类的相关代码已放在主页。