题解 | #牛群的秘密通信#
牛群的秘密通信
https://www.nowcoder.com/practice/f0047999594d4cd39f85d7347c6941af
知识点
栈
解题思路
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; }