[leetcode-117]填充每个节点的下一个右侧节点指针 II
(1 AC)
填充每个节点的下一个右侧节点指针 I是完美二叉树。这个是任意二叉树
给定一个二叉树
struct Node {int val;Node *left;Node *right;Node *next; }
填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL
。
初始状态下,所有 next 指针都被设置为 NULL
。
示例:For example,
Given the following binary tree,
1/ \2 3/ \ \4 5 7
After calling your function, the tree should look like:
1 -> NULL/ \2 -> 3 -> NULL/ \ \4-> 5 -> 7 -> NULL 关键:层序遍历Java中的队列:Queue<TreeLinkNode> queue = new LinkedList<>();
/*** Definition for binary tree with next pointer.* public class TreeLinkNode {* int val;* TreeLinkNode left, right, next;* TreeLinkNode(int x) { val = x; }* }*/ public class PopulatingNextRightPointersInEachNodeii {public void connect(TreeLinkNode root) {if (root == null) {return;}Queue<TreeLinkNode> queue = new LinkedList<>();queue.add(root);while(queue.size() != 0) {int size = queue.size(); // 当前层节点数TreeLinkNode node1 = queue.poll();if (node1.left != null)queue.add(node1.left);if (node1.right != null)queue.add(node1.right);for (int i=1;i<size;i++) {TreeLinkNode node2 = queue.poll();if (node2.left != null)queue.add(node2.left);if (node2.right != null)queue.add(node2.right);node1.next = node2;node1 = node2;}}} }
转载于:https://www.cnblogs.com/twoheads/p/10571364.html
[leetcode-117]填充每个节点的下一个右侧节点指针 II相关推荐
- 2.<tag-二叉树和层序遍历相关题>-lt.116. 填充每个节点的下一个右侧节点指针 + lt.117. 填充每个节点的下一个右侧节点指针 II 1
lt.116. 填充每个节点的下一个右侧节点指针 [案例需求] [思路分析一, 迭代法] [代码实现] /* // Definition for a Node. class Node {public ...
- 力扣116. 填充每个节点的下一个右侧节点指针(C++,附思路)
题目链接在这里: 116. 填充每个节点的下一个右侧节点指针 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/popu ...
- 二叉树:填充每个节点的下一个右侧节点指针(java)
leetcode116:填充每个节点的下一个右侧节点指针 leetcode原题链接: 题目描述 递归解法一 递归方法二(效率更高) 二叉树专题 leetcode原题链接: 116题:填充每个节点的下一 ...
- leetcode116. 填充每个节点的下一个右侧节点指针
116. 填充每个节点的下一个右侧节点指针 难度中等128 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下: struct Node {int val;Node ...
- 116. 填充每个节点的下一个右侧节点指针
2020-05-28 1.题目描述 填充每个节点的下一个右侧节点指针 2.题解 层次遍历即可 3.代码 /* // Definition for a Node. class Node { public ...
- 力扣 填充每个节点的下一个右侧节点指针
填充每个节点的下一个右侧节点指针 题目描述 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下: struct Node { int val; Node *left ...
- LeetCode 117. 填充每个节点的下一个右侧节点指针 II(递归循环)
文章目录 1. 题目 2. 解题 2.1 递归 2.2 queue循环 2.3 利用next循环 1. 题目 填充它的每个 next 指针,让这个指针指向其下一个右侧节点.如果找不到下一个右侧节点,则 ...
- 49. Leetcode 117. 填充每个节点的下一个右侧节点指针 II (二叉树-二叉树遍历)
给定一个二叉树struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点.如果找不 ...
- [leetcode] 117 填充每个节点的下一个右侧节点指针
给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下: struct Node { int val; Node *left; Node *right; ...
最新文章
- ICCV2021 | SMCA:即插即用的共同注意力模型,可使DETR收敛加速10倍
- 通过电机编码器AB相输出确定电机转向
- 图像检索:几类基于内容的图像分类技术
- CTF(pwn)堆利用 之 off by one
- UIView CALayer
- Node.js event loop 和 JS 浏览器环境下的事件循环的区别
- 计算机处理器采用多核,电脑的CPU的多核很有用吗?
- 《数据结构》C++代码 堆(优先队列)
- 作为一个销售人员,要做到这些
- ie8 不支持 position:fixed 的简单解决办法
- oracle exp空数据表,Oracle11g中Exp空表的问题
- 解题报告 一元三次方程求解
- Git 使用之鉴权失败
- 阿里P7、P8、P9级别需要多少年的工作经验,还是因能力而定?
- 分号与逗号的区别及举例_顿号与逗号与分号间的区别是什么?
- Orcad allegro 安装补丁
- mac iTunes 下载慢,如何加速
- php7.0 phalcon_phalcon php7
- [前端三剑客之CSS]display:none opacity:0 visibility:hidden三角恋的爱恨情仇
- 教你用Ossim平台检测网络的Shellcode攻击
热门文章
- 虚拟机VMware的Ubuntu下安装tensorflow详解
- linux检测是否安装eclipse,肿么看linux中eclipse是否安装成功
- DbNetSpell
- java向上向下取整与四舍五入
- Oracle数据库使用Navicat premium创建用户时遇到的坑
- git统计每个人的代码行数_程序员实用工具,推荐一款代码统计神器GitStats
- 2020-11-25 阿里云CentOS linux源配置脚本 https://mirrors.aliyun.com/repo/
- 关于GDAL计算图像坐标的几个问题
- 远程服务器传数据库,怎样把本机的mysql数据库上传到远程主机上
- GeoTools——读取shapefile数据