LeetCode20题不多说上代码
public boolean isValid(String s){
Stack<Character> stack = new Stack<Character>();
for (int i=0;i<s.length();i++){
char c = s.charAt(i);
if (c=='('||c=='['||c=='{')
stack.push(c);
else{
//栈没字符匹配失败
if (stack.isEmpty())
return false;
char topChar = stack.pop();
if (c==')'&&topChar!='(')
return false;
if (c==']'&&topChar!='[')
return false;
if (c=='}'&&topChar!='{')
return false;
}}
return stack.isEmpty();
}