题解 | #牛群的秘密通信#
牛群的秘密通信
https://www.nowcoder.com/practice/f0047999594d4cd39f85d7347c6941af
//具体思路如下: //创建一个栈来存储左括号。 //遍历输入的字符串,当遇到左括号时,将其压入栈中。 //当遇到右括号时,判断栈是否为空,若为空则返回 false;否则,取出栈顶的左括号,判断是否与当前右括号匹配,若匹配则继续遍历,若不匹配则返回 false。 //最后,如果字符串遍历完毕,栈为空,则返回 true,否则返回 false。 package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return bool布尔型 */ func is_valid_cow_communication(s string) bool { // write code here stack := make([]rune, 0) brackets := map[rune]rune{ ')': '(', '}': '{', ']': '[', } for _,c:=range s{ if c=='('||c=='['||c=='{'{ stack=append(stack, c) }else if c==')'||c=='}'||c==']'{ if len(stack)==0||stack[len(stack)-1]!=brackets[c]{ return false } stack=stack[:len(stack)-1] } } return len(stack) == 0 }