public static void expIsCorrect(String s) throws Exception
{
MySeqStack mss=new MySeqStack();
for(int i=0;i<s.length();i++)
{
Character c=new Character(s.charAt(i));
if(c.equals('(')||c.equals('{')||c.equals('['))
{
mss.push(c);
}
else if(c.equals(')')&&mss.notEmpty()&&mss.getTop().equals('('))
{
mss.pop();
}
else if(c.equals(')')&&mss.notEmpty()&&!mss.getTop().equals('('))
{
System.out.println("左右括号不匹配!");
return;
}
else if(c.equals('}')&&mss.notEmpty()&&!mss.getTop().equals('{'))
{
System.out.println("左右括号不匹配!");
return;
}
else if(c.equals(']')&&mss.notEmpty()&&!mss.getTop().equals('['))
{
System.out.println("左右括号不匹配!");
return;
}
else if(c.equals('}')&&mss.notEmpty()&&mss.getTop().equals('{'))
{
mss.pop();
}
else if(c.equals(']')&&mss.notEmpty()&&mss.getTop().equals('['))
{
mss.pop();
}
else if((c.equals(')')||c.equals('}')||c.equals(']'))&&(!mss.notEmpty()))
{
System.out.println("右括号多于左括号!");
return;
}
}
if(!mss.notEmpty())
{
System.out.println("Right!!!");
}
else
{
System.out.println("左括号多于右括号!");
}
}
java数据结构之Stack括弧匹配问题
猜你喜欢
转载自blog.csdn.net/m0_37942202/article/details/81943570
今日推荐
周排行