题解 | #二叉搜索树与双向链表#

二叉搜索树与双向链表

http://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5

因为二叉搜索树的中序遍历是有序的,所以选择中序遍历二叉树,在遍历的过程中将二叉搜索树转换为双向链表。

使用一个指针 pre 指向当前遍历节点的前一个节点。关键的三步操作

  1. 前一个节点 pre 的 right 指向当前节点(注意 pre 不能为空)pre->right = cur

  2. 当前节点的 left 指向前一个节点 root->left = pre

  3. 不要忘了 pre 指向当前节点 pre =root

就构成了双向关联,当然上面两步中的关联可能原二叉树中就有,但是不影响答案。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务