leetcode117. 填充每个节点的下一个右侧节点指针 II(dfs)
给定一个二叉树
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)相关推荐
- [leetcode-117]填充每个节点的下一个右侧节点指针 II
(1 AC) 填充每个节点的下一个右侧节点指针 I是完美二叉树.这个是任意二叉树 给定一个二叉树 struct Node {int val;Node *left;Node *right;Node *n ...
- leetcode116. 填充每个节点的下一个右侧节点指针
116. 填充每个节点的下一个右侧节点指针 难度中等128 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下: struct Node {int val;Node ...
- 116. 填充每个节点的下一个右侧节点指针
2020-05-28 1.题目描述 填充每个节点的下一个右侧节点指针 2.题解 层次遍历即可 3.代码 /* // Definition for a Node. class Node { public ...
- 力扣116. 填充每个节点的下一个右侧节点指针(C++,附思路)
题目链接在这里: 116. 填充每个节点的下一个右侧节点指针 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/popu ...
- 力扣 填充每个节点的下一个右侧节点指针
填充每个节点的下一个右侧节点指针 题目描述 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下: struct Node { int val; Node *left ...
- 2.<tag-二叉树和层序遍历相关题>-lt.116. 填充每个节点的下一个右侧节点指针 + lt.117. 填充每个节点的下一个右侧节点指针 II 1
lt.116. 填充每个节点的下一个右侧节点指针 [案例需求] [思路分析一, 迭代法] [代码实现] /* // Definition for a Node. class Node {public ...
- 二叉树:填充每个节点的下一个右侧节点指针(java)
leetcode116:填充每个节点的下一个右侧节点指针 leetcode原题链接: 题目描述 递归解法一 递归方法二(效率更高) 二叉树专题 leetcode原题链接: 116题:填充每个节点的下一 ...
- leetcode117. 填充每个节点的下一个右侧节点指针 II
给定一个二叉树 struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向 ...
- LeetCode 116. 填充每个节点的下一个右侧节点指针
https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node/ 难度:中等 给定一个完美二叉树,其所有叶 ...
最新文章
- 深入理解 js 之继承与原型链
- sql数据库相关语句
- shell输出没有换行符
- Android单元测试框架Robolectric3.0介绍(二)
- 什么是CAN总线中继器?
- python 循环指定次数_亮仔的Python之路Day7——Python循环语句
- CodeForces 214B Hometask
- springboot整合rabbitMQ-路由模型
- vue - 自定义指令
- Ionic APP 热更新 之 产品发布状态下的热更新搭建,去local-dev-addon插件
- 1、mysql创建用户和授权总结
- BZOJ 5277 IQ题orz
- spring实战第五版总结
- Linux下安装Mysql详解
- html5鼠标悬停遮罩,js实现鼠标移动到图片产生遮罩效果
- 新版代挂网站PHP源码+去除授权/支持燃鹅代抽
- c语言蚂蚁王国的货币系统,蚂蚁王国的探索之旅
- 虚拟卡是什么?怎样申请虚拟信用卡?
- 手机cpu性能天梯图2022
- 【Linux系列】什么是LVM