117. 填充同一层的兄弟节点 II

与116. 填充同一层的兄弟节点完全一样,二叉树的层次遍历。。这是这次不是完美二叉树了

class Solution {public void connect(TreeLinkNode root) {if (root == null) return;LinkedList<TreeLinkNode> queue = new LinkedList<>();queue.offer(root);TreeLinkNode flag = root;TreeLinkNode last = null;while (!queue.isEmpty()) {TreeLinkNode nowNode = queue.poll();if (last != null) {last.next = nowNode;}if (nowNode.left != null) queue.add(nowNode.left);if (nowNode.right != null) queue.add(nowNode.right);last = nowNode;if (flag == nowNode) {nowNode.next = null;flag = queue.peekLast();last = null;}}}
}

转载于:https://www.cnblogs.com/acbingo/p/9919434.html

[leetcode] 117. 填充同一层的兄弟节点 II相关推荐

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

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

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

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

  3. LeetCode 117. 填充每个节点的下一个右侧节点指针 II(递归循环)

    文章目录 1. 题目 2. 解题 2.1 递归 2.2 queue循环 2.3 利用next循环 1. 题目 填充它的每个 next 指针,让这个指针指向其下一个右侧节点.如果找不到下一个右侧节点,则 ...

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

    给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下: struct Node {   int val;   Node *left;   Node *right; ...

  5. 49. Leetcode 117. 填充每个节点的下一个右侧节点指针 II (二叉树-二叉树遍历)

    给定一个二叉树struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点.如果找不 ...

  6. leetcode 117. 填充每个节点的下一个右侧节点指针 II(Populating Next Right Pointers in Each Node II)...

    目录 题目描述: 示例: 解法: 题目描述: 给定一个二叉树 struct Node { int val; Node left; Node right; Node *next; } 填充它的每个 ne ...

  7. Leetcode 117. 填充每个节点的下一个右侧节点指针 II 解题思路及C++实现

    方法一:层序遍历 解题思路: 和第116题一模一样,其实,用队列queue更简单一些,不用将顺序倒来倒去.通过使用队列的长度信息queue.size(),可以只需要一个队列就能做到层序遍历. /* / ...

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

    思路: 先查看左右子树是否都不为空,直接左子.next ->右子 左不为空,但右为空,无法直接赋值,借助getNext递归函数,传入父节点的next. 右不为空(此时无论左是否为空不受影响),无 ...

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

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

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

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

最新文章

  1. 叶杰平入选、华人占4成,2020年ACM杰出科学家榜单出炉
  2. WINDOWS2003域控制器禁止U盘
  3. 柠檬网络电视_睡觉时旁边放柠檬,真能促进长高提升记忆力?权威解答来了
  4. android旋转动画开源库,android 围绕中心旋转动画
  5. ios中关于delegate(委托)的使用心得
  6. 生成drl文件_我如何通过编程方式生成.drl文件。任何示例对我都将有所帮助
  7. 数据结构树4-二叉搜索树2
  8. web全栈架构师所需技术栈_统一架构–一种构建全栈应用程序的简单方法
  9. html5 zoom-in,页面打开效果除了slide-in-right,还有哪些?
  10. 二路归并排序 代码实例
  11. Ubuntu文件目录结构详解
  12. css用网络图片做背景图片,网络编程css为图片设置背景图片
  13. 如何让Join跑的更快?(文末送书)
  14. html 点击加入qq群,怎么样加入QQ群?加入QQ群两种方式介绍
  15. MATLAB算数运算符(算术乘,点乘,算术左除,算术右除,点左除,点右除,算术乘方,点乘方)
  16. 计算机软考具体有哪几方面,计算机软考全国有哪些常用考点呢
  17. vue 使用pdf.js
  18. Java实现平均分配算法(附代码)
  19. Salome平台介绍及二次开发案例
  20. DVBBS7.0变量列表

热门文章

  1. NYOJ--40--公约数和公倍数
  2. Redis高并发1-redis环境搭建
  3. 初识TensorFlow
  4. php 获取TZ时间格式
  5. python+selenium 自动化测试环境搭建
  6. Jenkins Pinned Plugins(Jenkins绑定插件)
  7. RHEL-用户基础-管道
  8. Android第一个程序Say Hello To Android
  9. C 不使用其他库生成BMP图片
  10. 软件可靠性的一些关注点