用栈存 遇到左括号存进去 遇到右括号若和栈顶匹配 则消去 否则returnfalse
若最后栈为空 则return true
class Solution {
public static boolean right(char a,char b)
{
if((a=='('&&b==')')||(a=='['&&b==']')||(a=='{'&&b=='}'))
{
return true;
}
else
return false;
}
public boolean isValid(String s) {
int n=s.length();
char[] num=new char[n];
int top=0;
for(int i=0;i<n;i++)
{
if(s.charAt(i)=='('||s.charAt(i)=='{'||s.charAt(i)=='[')
{
num[top]=s.charAt(i);
top++;
}
else {
if(top<=0)
return false;
if(right(num[top-1], s.charAt(i)))
top=top-1;
else
return false;
}
}
if(top==0)
return true;
else
return false;
}
}