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
}
相关推荐
千码君201642 分钟前
Go语言:对其语法的一些见解
开发语言·后端·golang
新青年5792 小时前
Go语言项目打包上线流程
开发语言·后端·golang
Lovely Ruby3 小时前
七日 Go 的自学笔记 (一)
开发语言·笔记·golang
Juan_20123 小时前
P1041题解
c++·算法·题解·搜索
我搞slam11 小时前
快乐数--leetcode
算法·leetcode·哈希算法
西阳未落13 小时前
LeetCode——二分(进阶)
算法·leetcode·职场和发展
小羊在睡觉14 小时前
golang定时器
开发语言·后端·golang
不爱洗脚的小滕15 小时前
【Redis】三种缓存问题(穿透、击穿、双删)的 Golang 实践
redis·缓存·golang
吃着火锅x唱着歌15 小时前
LeetCode 410.分割数组的最大值
数据结构·算法·leetcode
YSRM16 小时前
Leetcode+Java+图论+最小生成树&拓扑排序
java·leetcode·图论