知识点

解题思路

s只包含'()[]{}'这六种字符,首先如果是开头符号'([{'这三种则直接入栈。

而如果是')]}'这三种结束符号,就要判断出栈元素是否与之对应的开头符号。

如果不是则直接返回false。

java题解

public boolean is_valid_cow_communication (String s) {
        // write code here
        Stack<Character> stack = new Stack<>();
        for(int i = 0; i < s.length(); i++){
            char c = s.charAt(i);
            if(c == '(' || c == '[' || c == '{'){
                stack.push(c);
            } else {
                Character popC = stack.pop();
                if ((c == ')' && popC != '(' || (c == ']' && popC != '[') || (c == '}' && popC != '{'))) {
                    return false;
                }
            }
        }
        return true;
    }