用栈。
当栈中无字符时,add字符。
当有字符时,判断下一个是不是可以配对。
可以则弹出。
否则继续add
最后判断stack里是否为空。
public boolean isValid(String s) {
char[] str=s.toCharArray();
Stack<Character> stack=new Stack<>();
for(char c:str)
{
if(stack.size()==0)
stack.push(c);
else
if(sym(stack.peek(),c))
stack.pop();
else
stack.push(c);
}
return stack.size()==0;
}
public boolean sym(char l, char r)
{
if(l=='('&&r==')'||l=='['&&r==']'||l=='{'&&r=='}')
return true;
else
return false;
}