public boolean bracketMatch(String str){
Stack s=new Stack();//声明一个栈用来存储左括号
for(int i=0;i<str.length();i++){
char bracket=str.charAt(i);//获取括号
switch(bracket){
case '{':
case '[':
case '(':
s.push(bracket);
break;
case '}':
if(s.isEmpty())
{
return false;
}else if(s.pop().equals('{')){
break;
}else{
return false;
}
case ']':
if(s.isEmpty())
{
return false;
}else if(s.pop().equals('[')){
break;
}else{
return false;
}
case ')':
if(s.isEmpty())
{
return false;
}else if(s.pop().equals('(')){
break;
}else{
return false;
}
default:
return false;
}
}
if(s.isEmpty()){//当字符串遍历完时栈也空,说明匹配正确 ,否则错误
return true;
}
else{
return false;
}
}
括号匹配算法
最新推荐文章于 2023-04-24 21:24:10 发布