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
}
相关推荐
牛奔2 小时前
Go 如何打印调试深层或嵌套的结构体
开发语言·后端·golang
geovindu2 小时前
go: Iterative Algorithms
开发语言·后端·算法·golang·迭代算法
kite01214 小时前
Go语言Map深度解析与最佳实践
开发语言·后端·golang
闪电悠米5 小时前
力扣hot100-48.旋转图像-转置翻转详解
算法·leetcode·职场和发展
啦啦啦啦啦zzzz5 小时前
算法:贪心算法
c++·算法·leetcode·贪心算法
Tisfy14 小时前
LeetCode 3536.两个数字的最大乘积:O(1)空间维护max2
数学·算法·leetcode·题解
Wang's Blog17 小时前
Go-Zero 项目开发21: 实现离线消息拉取与会话管理
开发语言·后端·golang
FfHUCisI17 小时前
Golang学习-约瑟夫环问题(Josephus Problem)
开发语言·学习·golang
会编程的土豆17 小时前
结构体 struct:用代码描述用户、订单、座位
数据库·mysql·golang
alphaTao1 天前
LeetCode 每日一题 2026/7/20-2026/7/26
算法·leetcode