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
}
相关推荐
L Jiawen1 小时前
【Go · Gin】基础知识
开发语言·golang·gin
YGGP8 小时前
【Golang】LeetCode 64. 最小路径和
算法·leetcode
LYFlied10 小时前
【每日算法】LeetCode 1143. 最长公共子序列
前端·算法·leetcode·职场和发展·动态规划
长安er11 小时前
LeetCode 20/155/394/739/84/42/单调栈核心原理与经典题型全解析
数据结构·算法·leetcode·动态规划·
wadesir12 小时前
Go语言中高效读取数据(详解io包的ReadAll函数用法)
开发语言·后端·golang
yoke菜籽12 小时前
LeetCode——三指针
算法·leetcode·职场和发展
幺零九零零13 小时前
Golang-Swagger
开发语言·后端·golang
闲看云起15 小时前
LeetCode day3-最长连续序列
算法·leetcode
六毛的毛16 小时前
比较含退格的字符串
开发语言·python·leetcode
iAkuya16 小时前
(leetcode)力扣100 27合并两个有序链表(迭代/递归)
算法·leetcode·链表