给定一个二叉树

struct TreeLinkNode {TreeLinkNode *left;TreeLinkNode *right;TreeLinkNode *next;
}

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

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

说明:

  • 你只能使用额外常数空间。
  • 使用递归解题也符合要求,本题中递归程序占用的栈空间不算做额外的空间复杂度。
  • 你可以假设它是一个完美二叉树(即所有叶子节点都在同一层,每个父节点都有两个子节点)。

示例:

给定完美二叉树,

     1/  \2    3/ \  / \
4  5  6  7

调用你的函数后,该完美二叉树变为:

     1 -> NULL/  \2 -> 3 -> NULL/ \  / \
4->5->6->7 -> NULL

/**
 * Definition for binary tree with next pointer.
 * struct TreeLinkNode {
 *  int val;
 *  TreeLinkNode *left, *right, *next;
 *  TreeLinkNode(int x) : val(x), left(NULL), right(NULL), next(NULL) {}
 * };
 */
class Solution {
public:
    void connect(TreeLinkNode *root) {
        if (!root) return;
        if (root->left) root->left->next = root->right;
        if (root->right) root->right->next = root->next? root->next->left : NULL;
        connect(root->left);
        connect(root->right);
    }
};

116.填充同一层的兄弟节点相关推荐

  1. 116. 填充同一层的兄弟节点

    116. 填充同一层的兄弟节点 给定一个二叉树 struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode ...

  2. 【每日一算法】填充同一层的兄弟节点

    微信改版,加星标不迷路! 每日一算法-填充同一层的兄弟节点 给定一个二叉树 struct TreeLinkNode {TreeLinkNode *left;TreeLinkNode *right;Tr ...

  3. 力扣116. 填充每个节点的下一个右侧节点指针(C++,附思路)

    题目链接在这里: 116. 填充每个节点的下一个右侧节点指针 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/popu ...

  4. 2.<tag-二叉树和层序遍历相关题>-lt.116. 填充每个节点的下一个右侧节点指针 + lt.117. 填充每个节点的下一个右侧节点指针 II 1

    lt.116. 填充每个节点的下一个右侧节点指针 [案例需求] [思路分析一, 迭代法] [代码实现] /* // Definition for a Node. class Node {public ...

  5. leetcode 116 --- 填充每个节点指向最右节点的next指针

    1 题目 填充每个节点指向最右节点的next指针, 填充所有节点的next指针,指向最接近它的同一层右边节点.如果没有同一层没有右边的节点,则应该将next指针设置为NULL. 初始时,所有的next ...

  6. 文巾解题 116. 填充每个节点的下一个右侧节点指针

    1 题目描述 ​​​​​​​ 2 解题思路:广搜 记录每一层的节点数量,每次遍历一层,当遇到这一层最后一个节点时,它的next指向None,其余节点则指向后面一个 class Solution:def ...

  7. xpath 获取当前节点的父节点,兄弟节点的方法

    2019独角兽企业重金招聘Python工程师标准>>> xpath_input_exp_mark = '//label[contains(text(), "文本内容&quo ...

  8. CSS实现某元素hover时 所有兄弟节点样式改变

    2019独角兽企业重金招聘Python工程师标准>>> css 提供的兄弟节点选择器有两种 第一种:+  相邻兄弟选择器( li + li )只能选择与自己紧紧相连的身后的一个兄弟, ...

  9. JQUERY的父,子,兄弟节点查找方法

    jQuery.parent(expr)  找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(& ...

  10. 相对定位android,appium相对位置定位元素----父节点/兄弟节点定位

    appium相对位置定位元素----父节点/兄弟节点定位 发布时间:2020-06-30 05:51:41 来源:51CTO 阅读:5620 作者:niedongri 讲一下定位手机app上元素时定位 ...

最新文章

  1. go语言socket通信初试
  2. 增大iphone音量技巧_原来苹果手机隐藏功能这么好用!调整这个设置,一键增大外放音量...
  3. 解决VS2010链接错误:LINK fatal error LNK1123: 转换到 COFF
  4. Node.js与Sails~Model数据模型
  5. 树莓派使用神经计算棒1代的准备(Tensorflow)
  6. Hadoop/HDFS命令
  7. Wordpress prettyPhoto插件跨站脚本漏洞
  8. JQuery 操作 radio 被坑一例
  9. [论文阅读] Disentangled High Quality Salient Object Detection
  10. Android中从源码分析关于AsyncTask的使用
  11. 原根算法C语言,数据结构与算法分析 C语言描述(第2版)Larry Nyhoff AVL树
  12. 【优化求解】基于matlab遗传算法求解函数极值问题【含Matlab源码 1198期】
  13. java mongodb 条件查询_java实现如下条件的mongodb查询
  14. 灌浆料的弹性模量计算_防城港市(灌浆料)月度
  15. 易接SDK ios9以上无法弹出充值界面的一种情况
  16. android 应用APK使用系统APK
  17. 22岁天才少女加入华为,曾获“编程界的奥林匹克”世界冠军
  18. 微信账单动态吸顶功能实现逻辑
  19. 苹果发布会说明了什么?
  20. Oracle Synonym and Grant

热门文章

  1. 【转】Element-UI中上传的action地址相对问题
  2. PWA登陆iOS了,但它还有这些缺陷
  3. 《计算机系统:系统架构与操作系统的高度集成》——2.5 高级数据抽象
  4. GreenDroid 开源UI组件
  5. hdu 1213 “How Many Tables”(并查集基本到优化)
  6. python哈夫曼编码注意_[Python]哈夫曼编码
  7. servlet-mapping_浅谈servletmapping的机制(二)
  8. tkinter 文本框 值改变_【动图详解】PPT中文本框的使用方法,初学者必看!
  9. python 迭代器的方法_python--魔法方法,属性和迭代器
  10. 【2019南昌邀请赛网络赛I:】Max Answer(st表+单调栈(新模版)+分析)