使用栈来匹配括号,最后看栈是否为空。

import java.util.*;

public class Solution {
    /**
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    public boolean isValid (String s) {
        Stack<Character> stack = new Stack<>();
        char[] chars = s.toCharArray();
        for(char c : chars){
            if(c=='[' || c=='(' || c=='{')
                stack.push(c);
            else{
                if(stack.isEmpty())
                    return false;
                else{
                    char temp = stack.pop();
                    if(']'==c && temp!='[')
                        return false;
                    if('}'==c && temp!='{')
                        return false;
                    if(')'==c && temp!='(')
                        return false;
                }
            }
        }
        return stack.isEmpty();
    }
}