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

题目描述

给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:

struct Node {
  int val;
  Node *left;
  Node *right;
  Node *next;
}

填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。

初始状态下,所有 next 指针都被设置为 NULL。
image

参考代码

var connect = function(root) {
    // 定义函数
    const traverse = function(node1,node2){
        if(!node1||!node2) return 
        node1.next = node2
        traverse(node1.left,node1.right)
        traverse(node2.left,node2.right)
        traverse(node1.right,node2.left)
    }
    // 主函数
    if(!root) return root
    traverse(root.left,root.right)
    return root
};
posted @ 2022-10-15 15:32  含若飞  阅读(16)  评论(0编辑  收藏  举报