题目:String s = "...(...[....]....{....}..)...(...).."; 判断括号是否匹配
import java.util.Stack;
public class Csdn{
public static void main(String[] args) {
String s = "...(...[....]....{....}..)...(...)..";
int count = 0;
Stack<Character> st = new Stack<>(); //创建一个栈集合
for(int i = 0;i < s.length();i++){
char ch = s.charAt(i); //获取字符串里的字符
switch(ch){
case '(':
case '[':
case '{':
st.push(ch); //把字符压入堆栈底部
count++;
break;
case '}':
case ']':
case ')':
if(!st.isEmpty()){ //判断栈是否为空
char c = st.pop(); //移除堆栈顶部的字符,并返回该字符作为值
if((c=='('&&ch==')')||(c=='['&&ch==']')||(c=='{'&&ch=='}')){
count--;
}
}else{
count--;
}
break;
default:break;
}
}
if(count == 0){
System.out.println("匹配");
}else{
System.out.println("不匹配");
}
}
}
愿前程似锦
本文详细解析了如何使用Java中的Stack数据结构来判断字符串中括号是否正确匹配,包括圆括号、方括号和花括号。通过遍历字符串并利用栈的特性,实现了对各种括号的有效匹配检查。
17万+

被折叠的 条评论
为什么被折叠?



