题目: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("不匹配");
}
}
}
愿前程似锦