首页 > 试题广场 >

填充每个节点指向最右节点的next指针

[编程题]填充每个节点指向最右节点的next指针
  • 热度指数:19010 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定一个二叉树
    struct TreeLinkNode {
        TreeLinkNode *left;
        TreeLinkNode *right;
        TreeLinkNode *next;
    }
填充所有节点的next指针,指向最接近它的同一层右边节点。如果没有同一层没有右边的节点,则应该将next指针设置为NULL。
初始时,所有的next指针都为NULL
注意:
  • 你只能使用常量级的额外内存空间
  • 可以假设给出的二叉树是一个完美的二叉树(即,所有叶子节点都位于同一层,而且每个父节点都有两个孩子节点)。
例如:给出如下的完美二叉树


调用完你给出的函数以后,这颗二叉树应该 变成:




说明:本题目包含复杂数据结构TreeLinkNode,点此查看相关信息

这道题你会答吗?花几分钟告诉大家答案吧!