题解 | #牛群的秘密通信#

牛群的秘密通信

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
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务