[leetcode] 117. 填充同一层的兄弟节点 II
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相关推荐
- 【每日一算法】填充同一层的兄弟节点
微信改版,加星标不迷路! 每日一算法-填充同一层的兄弟节点 给定一个二叉树 struct TreeLinkNode {TreeLinkNode *left;TreeLinkNode *right;Tr ...
- 116. 填充同一层的兄弟节点
116. 填充同一层的兄弟节点 给定一个二叉树 struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode ...
- LeetCode 117. 填充每个节点的下一个右侧节点指针 II(递归循环)
文章目录 1. 题目 2. 解题 2.1 递归 2.2 queue循环 2.3 利用next循环 1. 题目 填充它的每个 next 指针,让这个指针指向其下一个右侧节点.如果找不到下一个右侧节点,则 ...
- [leetcode] 117 填充每个节点的下一个右侧节点指针
给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下: struct Node { int val; Node *left; Node *right; ...
- 49. Leetcode 117. 填充每个节点的下一个右侧节点指针 II (二叉树-二叉树遍历)
给定一个二叉树struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点.如果找不 ...
- leetcode 117. 填充每个节点的下一个右侧节点指针 II(Populating Next Right Pointers in Each Node II)...
目录 题目描述: 示例: 解法: 题目描述: 给定一个二叉树 struct Node { int val; Node left; Node right; Node *next; } 填充它的每个 ne ...
- Leetcode 117. 填充每个节点的下一个右侧节点指针 II 解题思路及C++实现
方法一:层序遍历 解题思路: 和第116题一模一样,其实,用队列queue更简单一些,不用将顺序倒来倒去.通过使用队列的长度信息queue.size(),可以只需要一个队列就能做到层序遍历. /* / ...
- LeetCode 117. 填充每个节点的下一个右侧节点指针 II
思路: 先查看左右子树是否都不为空,直接左子.next ->右子 左不为空,但右为空,无法直接赋值,借助getNext递归函数,传入父节点的next. 右不为空(此时无论左是否为空不受影响),无 ...
- 2.<tag-二叉树和层序遍历相关题>-lt.116. 填充每个节点的下一个右侧节点指针 + lt.117. 填充每个节点的下一个右侧节点指针 II 1
lt.116. 填充每个节点的下一个右侧节点指针 [案例需求] [思路分析一, 迭代法] [代码实现] /* // Definition for a Node. class Node {public ...
- leetcode 116 --- 填充每个节点指向最右节点的next指针
1 题目 填充每个节点指向最右节点的next指针, 填充所有节点的next指针,指向最接近它的同一层右边节点.如果没有同一层没有右边的节点,则应该将next指针设置为NULL. 初始时,所有的next ...
最新文章
- 叶杰平入选、华人占4成,2020年ACM杰出科学家榜单出炉
- WINDOWS2003域控制器禁止U盘
- 柠檬网络电视_睡觉时旁边放柠檬,真能促进长高提升记忆力?权威解答来了
- android旋转动画开源库,android 围绕中心旋转动画
- ios中关于delegate(委托)的使用心得
- 生成drl文件_我如何通过编程方式生成.drl文件。任何示例对我都将有所帮助
- 数据结构树4-二叉搜索树2
- web全栈架构师所需技术栈_统一架构–一种构建全栈应用程序的简单方法
- html5 zoom-in,页面打开效果除了slide-in-right,还有哪些?
- 二路归并排序 代码实例
- Ubuntu文件目录结构详解
- css用网络图片做背景图片,网络编程css为图片设置背景图片
- 如何让Join跑的更快?(文末送书)
- html 点击加入qq群,怎么样加入QQ群?加入QQ群两种方式介绍
- MATLAB算数运算符(算术乘,点乘,算术左除,算术右除,点左除,点右除,算术乘方,点乘方)
- 计算机软考具体有哪几方面,计算机软考全国有哪些常用考点呢
- vue 使用pdf.js
- Java实现平均分配算法(附代码)
- Salome平台介绍及二次开发案例
- DVBBS7.0变量列表