因为二叉搜索树的中序遍历是有序的,所以选择中序遍历二叉树,在遍历的过程中将二叉搜索树转换为双向链表。
使用一个指针 pre 指向当前遍历节点的前一个节点。关键的三步操作
-
前一个节点 pre 的 right 指向当前节点(注意 pre 不能为空)
pre->right = cur -
当前节点的 left 指向前一个节点
root->left = pre -
不要忘了 pre 指向当前节点
pre =root
就构成了双向关联,当然上面两步中的关联可能原二叉树中就有,但是不影响答案。

因为二叉搜索树的中序遍历是有序的,所以选择中序遍历二叉树,在遍历的过程中将二叉搜索树转换为双向链表。
使用一个指针 pre 指向当前遍历节点的前一个节点。关键的三步操作
前一个节点 pre 的 right 指向当前节点(注意 pre 不能为空)pre->right = cur
当前节点的 left 指向前一个节点 root->left = pre
不要忘了 pre 指向当前节点 pre =root
就构成了双向关联,当然上面两步中的关联可能原二叉树中就有,但是不影响答案。