当前位置:网站首页>【力扣】114. 二叉树展开为链表
【力扣】114. 二叉树展开为链表
2022-08-09 14:58:00 【漆黑丶】
题目:
给你二叉树的根结点 root ,请你将它展开为一个单链表:
展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。
展开后的单链表应该与二叉树 先序遍历 顺序相同。
示例 1:
输入:root = [1,2,5,3,4,null,6]
输出:[1,null,2,null,3,null,4,null,5,null,6]
示例 2:
输入:root = []
输出:[]
示例 3:
输入:root = [0]
输出:[0]
提示:
树中结点数在范围 [0, 2000] 内
-100 <= Node.val <= 100
进阶:你可以使用原地算法(O(1) 额外空间)展开这棵树吗?
答案:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */
class Solution {
//遍历到最大的,右子树设为node,左子树为null,node为最大的,然后是次最大的,右子树为node,左子树为null,node设为次最大的
TreeNode node;
public void flatten(TreeNode root) {
if(root == null) return;
flatten(root.right);
flatten(root.left);
root.right = node;
root.left = null;
node = root;
}
}
边栏推荐
猜你喜欢
微信小程序转盘demo
PatchEmbed代码讲解记录
封装仿支付宝密码输入效果
[Deep learning] attention mechanism
Stetman读paper小记:Backdoor Learning: A Survey(Yiming Li, Yong Jiang, Zhifeng Li, Shu-Tao Xia)
YOLOV1详解
[Deep Learning] SVM solves the linear inseparable situation (8)
流体拓扑优化问题
Postgraduate Work Weekly (Week 6)
【Postgraduate Work Weekly】(Week 7)
随机推荐
抱抱脸(hugging face)教程-中文翻译-QA问答(Question Answering)
Postgraduate Work Weekly
ConvNext笔记
【工具使用】Modbus Poll软件使用详解
【工具使用】Modscan32软件使用详解
hugging face tutorial - Chinese translation - tokenizers using Tokenizers
深入浅出最优化(5) 共轭梯度下降法
Vitis部分实验记录
【深度学习】介绍六大类损失函数(九)
PatchEmbed代码讲解记录
深入浅出最优化(2) 步长的计算方法
【Postgraduate Work Weekly】
关于亚马逊测评你了解多少?
【深度学习】梯度下降与梯度爆炸(十)
[Deep learning] attention mechanism
永磁同步电机电位器调速及数码管实时显示
keras使用class weight和sample weight处理不平衡问题
模型训练的auc和loss比较问题
【 graduate work weekly 】 (10 weeks)
关于亚马逊的坑你知道几个?