12.21

有效的括号

思路

因为字符串只包含括号,且需要顺序正确,那么就可知正确的字符串前后相邻的两个括号一定相对应

。那么只需判断右括号情况下是否与相邻的左括号相对应即可。可以利用栈先进后出的性质,遇左括号进,遇右括号出。

总结

括号对应的情况可以使用map。

代码

class Solution {
    public static boolean isValid(String s) {
        Stack<Character> str=new Stack<>();
        for (int i=0;i<s.length();i++){
            char temp=s.charAt(i);
            if (temp=='(' || temp=='{' ||temp=='['){
                str.add(temp);
            }else {
                if (str.isEmpty()) return false;
                char p=str.pop();
                if ((p=='{' && temp=='}') || (p=='(' && temp==')') || (p=='[' && temp==']')) {
                }
                else return false;
            }
        }
        return str.isEmpty();
    }

}

你可能感兴趣的:(java)