多语言展示
当前在线:1810今日阅读:27今日分享:41

Java详解如何将一棵二叉搜索树转为一条有序链表

题目:给定一个二叉搜索树,将其转变为一条有序链表;注意,这里通过 TreeNode 类来构建一棵二叉搜索树,返回的有序链表同样通过 TreeNode 类来构建,保证每个节点左子树为空,只有右子树即可。约束:只能通过移动原始二叉搜索树节点来完成链表的构建,不可以通过创建节点或者交换节点的值来进行构建。
工具/原料
1

Eclipse

2

JDK1.8

方法/步骤
1

创建一个静态内部类 TreeNode 用于表示一个二叉树节点,通过该类对象可以构建一棵二叉树结构。

2

实现算法,中序遍历一棵二叉树搜索树即可得到一个有序列表,因此算法的整体思想就是通过递归调用的方式中序遍历二叉搜索数。

3

编写一个工具函数,前序遍历二叉树,并将二叉树结构打印到控制台,用于辅助本地测试。

4

编写本地测试主方法。

5

运行本地测试方法,观察控制台输出,符合预期,本地测试通过。

6

平台提交算法,测试通过。

注意事项

只能通过移动二叉搜索树原始节点以及改变节点左右指针来构建有序链表。

推荐信息