//判断括号匹配问题
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;
}
}
}
栈类的相关代码已放在主页。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/120319.html