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
}
相关推荐
海石6 小时前
【JS击败90%】前缀和+定长滑动窗口
算法·leetcode
Tisfy6 小时前
LeetCode 2685.统计完全连通分量的数量:DFS求每个连通块的边点数
算法·leetcode·深度优先··题解·连通图·全连通分量
海石6 小时前
1次遍历,空间复杂度击败100%,时间复杂度击败85%
算法·leetcode
lueluelue477 小时前
LeetCode:滑动窗口
数据结构·算法·leetcode
Generalzy7 小时前
从本地 Demo 到生产级检索:Milvus 学习笔记(2)
golang·milvus
小高Baby@8 小时前
单链表的删操作
数据结构·算法·golang
青山木8 小时前
Hot 100 --- 二叉树与递归
java·数据结构·算法·leetcode·深度优先
tachibana211 小时前
hot100 将有序数组转换为二叉搜索树(108)
java·数据结构·算法·leetcode
张32311 小时前
Go语言基础 Map 函数值 闭包
开发语言·golang
退休倒计时12 小时前
【每日一题】LeetCode 78. 子集 TypeScript
算法·leetcode·typescript