Leetcode 515.在每个树行中找最大值

10 阅读1分钟

题目

image.png

26年5月14日(首刷自解)

func largestValues(root *TreeNode) []int {
    ret:=[]int{}
    if root==nil{
        return nil
    }
    q:=[]*TreeNode{root}
    for len(q)>0{
        p:=[]*TreeNode{}
        max:=q[0].Val
        for j:=0;j<len(q);j++{
            node:=q[j]
            if node.Val>=max{
                max=node.Val
            }
            if node.Left!=nil{
                p=append(p,node.Left)
            }
            if node.Right!=nil{
                p=append(p,node.Right)
            }
        }
        ret=append(ret,max)
        q=p
    }
    return ret
}