题解 | #有效括号序列# | Golang

有效括号序列

https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2

package main


/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param s string字符串
 * @return bool布尔型
 */
func isValid( s string ) bool {
    hash_table := make(map[byte]byte, 0)
    hash_table['('] = ')'
    hash_table['{'] = '}'
    hash_table['['] = ']'
    queue := make([]byte, 0)
    for _,c := range s {
        if len(queue) == 0 {
            queue = append(queue, byte(c))
        } else {
            val,ok := hash_table[queue[len(queue)-1]]
            if ok {
                if val == byte(c) {
                    queue = queue[0:len(queue)-1]
                } else {
                    queue = append(queue, byte(c))
                }
            } else {
                return false
            }
        }
    }
    return len(queue) == 0
}

全部评论

相关推荐

king327:要从现有项目中挖掘1-2个你解决过的具体技术难题 详细描述你的解决方案、技术选型理由和最终效果 这比罗列更多基础功能更有说服力
点赞 评论 收藏
分享
苗条的伊泽瑞尔最喜欢...:同28届被压力了,电科✌就不能去卷算法吗?把Java留给我们双非卷
投递快手等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务