Leetcode 117.填充每个节点的右侧指针II

11 阅读1分钟

题目

image.png

26年5月15日(首刷自解,bfs解法其实和上一道题一模一样,等后续再换dfs)

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
}