¥20 哈希表与统计¥有效的括号

class Solution {
     public boolean isValid(String s) {
        Stack stack = new Stack(); // 创建堆栈对象
        int len=s.length();
       
        for (int i = 0; i < len; i++) {
            char c=s.charAt(i);
            switch (c) {
            case '[':
            case '{':
            case '(':
                stack.push(c);
                break;
            case ']':
            case '}':
            case ')':
                char r = 0;
                if(!stack.isEmpty()) 
                     r = (char) stack.pop();
                
                if (c==']'&& r!='['||c=='}'&&r!='{'||c==')'&&r!='('){
                    return false;
                }
                break;
        }

    }
        if(!stack.isEmpty())//栈不空,返回false
            return  false;

        return  true;栈空,返回true
    }
}

猜你喜欢

转载自blog.csdn.net/qq_41557627/article/details/114366657