Leetcode 力扣117. 填充每个节点的下一个右侧节点指针 II (抖音号:708231408)

给定一个二叉树:

复制代码
struct Node {
  int val;
  Node *left;
  Node *right;
  Node *next;
}

填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL

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

示例 1:

复制代码
输入:root = [1,2,3,4,5,null,7]
输出:[1,#,2,3,#,4,5,7,#]
解释:给定二叉树如图 A 所示,你的函数应该填充它的每个 next 指针,以指向其下一个右侧节点,如图 B 所示。序列化输出按层序遍历顺序(由 next 指针连接),'#' 表示每层的末尾。

示例 2:

复制代码
输入:root = []
输出:[]

提示:

  • 树中的节点数在范围 [0, 6000]
  • -100 <= Node.val <= 100

进阶:

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

Leetcode 117

(抖音号:708231408)

相关推荐
じ☆冷颜〃7 分钟前
交换代数的解析延拓及在CS的应用
c语言·数据结构·笔记·线性代数·密码学
永远都不秃头的程序员(互关)12 分钟前
【K-Means深度探索(三)】告别“初始陷阱”:K-Means++优化质心初始化全解析!
算法·机器学习·kmeans
程序员-King.15 分钟前
day136—快慢指针—重排链表(LeetCode-143)
算法·leetcode·链表·快慢指针
万行15 分钟前
差速两轮机器人位移与航向角增量计算
人工智能·python·算法·机器人
qq_3363139315 分钟前
java基础-多线程练习
java·开发语言·算法
不知名XL17 分钟前
day25 贪心算法 part03
算法·贪心算法
期待のcode28 分钟前
Java虚拟机的垃圾回收器
java·开发语言·jvm·算法
叫我:松哥31 分钟前
基于Flask框架开发的二手房数据分析与推荐管理平台,集成大数据分析、机器学习预测和智能推荐技术
大数据·python·深度学习·机器学习·数据分析·flask
星火开发设计32 分钟前
C++ 分支结构:if-else 与 switch-case 的用法与区别
开发语言·c++·学习·算法·switch·知识·分支
txzrxz34 分钟前
数据结构有关的题目(栈,队列,set和map)
数据结构·c++·笔记·算法··队列