//判断括号匹配问题
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;
}
}
}
栈类的相关代码已放在主页。