给定一个二叉树

struct Node {
int val;
Node *left;
Node *right;
Node *next;
}
填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。

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

进阶:

你只能使用常量级额外空间。
使用递归解题也符合要求,本题中递归程序占用的栈空间不算做额外的空间复杂度。

class Solution {public Node connect(Node root) {if(root==null) return root;if(root.left!=null){if(root.right!= null)root.left.next=root.right;else root.left.next=getNext(root.next);}if(root.right!=null)root.right.next=getNext(root.next);connect(root.right);connect(root.left);return root;}public Node getNext(Node root) {while (root!=null){if(root.left!=null)return root.left;if(root.right!=null)return root.right;root=root.next;}return null;}
}

leetcode117. 填充每个节点的下一个右侧节点指针 II(dfs)相关推荐

  1. [leetcode-117]填充每个节点的下一个右侧节点指针 II

    (1 AC) 填充每个节点的下一个右侧节点指针 I是完美二叉树.这个是任意二叉树 给定一个二叉树 struct Node {int val;Node *left;Node *right;Node *n ...

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

    116. 填充每个节点的下一个右侧节点指针 难度中等128 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下: struct Node {int val;Node ...

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

    2020-05-28 1.题目描述 填充每个节点的下一个右侧节点指针 2.题解 层次遍历即可 3.代码 /* // Definition for a Node. class Node { public ...

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

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

  5. 力扣 填充每个节点的下一个右侧节点指针

    填充每个节点的下一个右侧节点指针 题目描述 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下: struct Node { int val; Node *left ...

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

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

  7. 二叉树:填充每个节点的下一个右侧节点指针(java)

    leetcode116:填充每个节点的下一个右侧节点指针 leetcode原题链接: 题目描述 递归解法一 递归方法二(效率更高) 二叉树专题 leetcode原题链接: 116题:填充每个节点的下一 ...

  8. leetcode117. 填充每个节点的下一个右侧节点指针 II

    给定一个二叉树 struct Node {   int val;   Node *left;   Node *right;   Node *next; } 填充它的每个 next 指针,让这个指针指向 ...

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

    https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node/ 难度:中等   给定一个完美二叉树,其所有叶 ...

最新文章

  1. 深入理解 js 之继承与原型链
  2. sql数据库相关语句
  3. shell输出没有换行符
  4. Android单元测试框架Robolectric3.0介绍(二)
  5. 什么是CAN总线中继器?
  6. python 循环指定次数_亮仔的Python之路Day7——Python循环语句
  7. CodeForces 214B Hometask
  8. springboot整合rabbitMQ-路由模型
  9. vue - 自定义指令
  10. Ionic APP 热更新 之 产品发布状态下的热更新搭建,去local-dev-addon插件
  11. 1、mysql创建用户和授权总结
  12. BZOJ 5277 IQ题orz
  13. spring实战第五版总结
  14. Linux下安装Mysql详解
  15. html5鼠标悬停遮罩,js实现鼠标移动到图片产生遮罩效果
  16. 新版代挂网站PHP源码+去除授权/支持燃鹅代抽
  17. c语言蚂蚁王国的货币系统,蚂蚁王国的探索之旅
  18. 虚拟卡是什么?怎样申请虚拟信用卡?
  19. 手机cpu性能天梯图2022
  20. 【Linux系列】什么是LVM

热门文章

  1. C++ Primer
  2. 海量数据处理 (一)
  3. 网易严选Java开发三面面经:mysql索引面试题
  4. 面试加分项!Android权限处理,手慢无
  5. 字符串驻留机制截图?#注意回顾字符串的深浅拷贝小数据池那节
  6. 代码能不能不要写得这么烂?!
  7. (百度、谷歌)地图经纬度gps偏移解决办法:gps纠偏数据库纠偏
  8. JVM调优-GC参数
  9. Kubernetes - - k8s - v1.12.3 OpenLDAP统一认证
  10. 爬虫笔记(十二)——浏览器伪装技术