Golang | Leetcode Golang题解之第515题在每个树行中找最大值

题目:

题解:

Go 复制代码
func largestValues(root *TreeNode) (ans []int) {
    if root == nil {
        return
    }
    q := []*TreeNode{root}
    for len(q) > 0 {
        maxVal := math.MinInt32
        tmp := q
        q = nil
        for _, node := range tmp {
            maxVal = max(maxVal, node.Val)
            if node.Left != nil {
                q = append(q, node.Left)
            }
            if node.Right != nil {
                q = append(q, node.Right)
            }
        }
        ans = append(ans, maxVal)
    }
    return
}

func max(a, b int) int {
    if b > a {
        return b
    }
    return a
}
相关推荐
垆边人似月.28 分钟前
华为算法题:最长连续递增子序列的变
数据结构·算法·leetcode
longlongzihan40 分钟前
LeetCode 56合并区间:排序与贪心
c++·算法·leetcode
茉莉玫瑰花茶1 小时前
GO [ 接口 ]
服务器·数据库·golang
kukubuzai1 小时前
二分查找系列一
数据结构·算法·leetcode
茉莉玫瑰花茶2 小时前
GO [ 文件 ]
服务器·golang
Cccp.12315 小时前
【leetcode】(七)前缀树和贪心算法
数据结构·leetcode·贪心算法
念何架构之路17 小时前
go-grpc使用
rpc·golang
小小龙学IT19 小时前
Go 泛型(Generics)深度解析:从类型参数到生产实践
开发语言·数据库·golang