Leetcode 116. 填充每个节点的下一个右侧节点指针

9 阅读1分钟

题目

image.png

26年5月15日(首刷借助ai思路提醒后自解)

func connect(root *Node) *Node {
    if root==nil{
        return nil
    }
    q:=[]*Node{root}
    for len(q)>0 {
        p:=[]*Node{}
        for j:=0;j<len(q);j++{
            treeNode:=q[j]
            if j<len(q)-1 {
                treeNode.Next=q[j+1]
            }
            if treeNode.Left!=nil{
                p=append(p,treeNode.Left)
            }
            if treeNode.Right!=nil{
                p=append(p,treeNode.Right)
            }
        }
        q=p
    }
    return root
}