当前位置:网站首页>如何将二叉搜索树转化为一个有序的双向链表(原树上修改)
如何将二叉搜索树转化为一个有序的双向链表(原树上修改)
2022-08-04 21:10:00 【陈亦康】
注意事项:
1.要求不能创建任何新的结点,只能调整树中结点指针的指向。当转化完成以后,树中节点的左指针需要指向前驱,树中节点的右指针需要指向后继
2.返回链表中的第一个节点的指针
3.函数返回的TreeNode,有左右指针,其实可以看成一个双向链表的数据结构
4.你不用输出双向链表,程序会根据你的返回值自动打印输出
分析:
代码如下:
import java.util.*;
public class Solution {
TreeNode prev = null;
public TreeNode createList(TreeNode root){
if(root == null){
return null;
}
createList(root.left);
root.left = prev;
if(prev != null){
prev.right = root;
}
prev = root;
createList(root.right);
return root;//最后返回根结点
}
public TreeNode Convert(TreeNode pRootOfTree) {
if(pRootOfTree == null){
return null;
}
TreeNode head = createList(pRootOfTree);
//需要遍历到链表的头节点
while(head.left != null){
head = head.left;
}
return head;
}
}
边栏推荐
- matlab drawing
- C language knowledge (1) - overview of C language, data types
- 【分布式】分布式ID生成策略
- 模拟对抗之红队免杀开发实践
- C语言知识大全(一)——C语言概述,数据类型
- 【2022杭电多校5 1012题 Buy Figurines】STL的运用
- Spss-一元回归实操
- PRIMAL: Pathfinding via Reinforcement and Imitation Multi-Agent Learning 代码解析
- Named routes, the role of name in components
- Common methods of js's new Function()
猜你喜欢
使用堡塔应用管理器配置laravel队列方法
JdbcTemplate概述和测试
PowerCLi 批量配置NTP
大势所趋之下的nft拍卖,未来艺术品的新赋能
开发deepstram的自定义插件,使用gst-dseaxmple插件进行扩充,实现deepstream图像输出前的预处理,实现图像自定义绘制图(精四)
MATLAB中readtimetable函数用法
[2022 Hangzhou Electric Multi-School 5 1003 Slipper] Multiple Super Source Points + Shortest Path
[Academic related] Tsinghua professor persuaded to quit his Ph.D.:I have seen too many doctoral students have mental breakdowns, mental imbalances, physical collapses, and nothing!...
3、IO流之字节流和字符流
Comic | Two weeks after the boss laid me off, he hired me back and doubled my salary!
随机推荐
win10 uwp 使用 WinDbg 调试
C语言之实现扫雷小游戏
伺服电机矢量控制原理与仿真(1)控制系统的建立
LayaBox---TypeScript---结构
DGL安装教程
【一起学Rust | 进阶篇 | Service Manager库】Rust专用跨平台服务管理库
LayaBox---TypeScript---首次接触遇到的问题
Red team kill-free development practice of simulated confrontation
After the tester with 10 years of service "naked resignation" from the big factory...
DSPE-PEG-Aldehyde, DSPE-PEG-CHO, Phospholipid-Polyethylene Glycol-Aldehyde A hydrophobic 18-carbon phospholipid
【编程思想】
传奇服务器需要什么配置?传奇服务器租用价格表
visual studio 2015 warning MSB3246
数据仓库(1)什么是数据仓库,数仓有什么特点
1、File对象学习
宝塔实测-搭建中小型民宿酒店管理源码
88.(cesium之家)cesium聚合图
2、字符集-编码-解码
JWT主动校验Token是否过期
[Data Mining] Written Exam Questions for Sohu Data Mining Engineers