把二叉搜索树转换为单向链表(原地操作)
题目描述
给定一棵二叉搜索树(BST),请将它原地转换为一个单向链表,要求:
- 转换后的链表使用树节点的
right指针连接,left指针全部置空; - 转换后的链表节点顺序必须符合中序遍历(升序);
- 不能新建额外节点,只能在原有树结构上修改;
- 节点数量可能很大(不超过 10^5 个节点)。
示例:
输入的二叉搜索树:
4
/ \
2 5
/ \ \
1 3 6
/
0
转换后输出链表(只用 right 指针连接):
0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6
解题分析
观察题目可以发现,中序遍历是关键,因为中序遍历BST时,得到的是一个升序排列的序列。
因此,整体思路是:
- 按中序遍历的顺序访问每个节点;
- 依次将节点连接成链表;

最低0.47元/天 解锁文章
1029

被折叠的 条评论
为什么被折叠?



