二叉搜索树转化为排序双向链表。可以使用中序线索化的方法去进行,在这里需要注意的是我们需要一个记录前一个访问节点的结点。
二叉搜索树转换前:
转换后:
思路:如果根节点的左子树存在,则一直去访问左子树,当为空时返回,并将prev结点赋给该节点的左子树,如果prev不为空,则将prev结点的右子树指向该节点,无论prev是否存在,将该节点赋给prev,如果该节点的右子树存在,则继续转换为子问题。去解决。
注意:prev一定要传指针的地址,因为每一次递归都要确保改变其
二叉搜索树转化为排序双向链表。可以使用中序线索化的方法去进行,在这里需要注意的是我们需要一个记录前一个访问节点的结点。
二叉搜索树转换前:
转换后:
思路:如果根节点的左子树存在,则一直去访问左子树,当为空时返回,并将prev结点赋给该节点的左子树,如果prev不为空,则将prev结点的右子树指向该节点,无论prev是否存在,将该节点赋给prev,如果该节点的右子树存在,则继续转换为子问题。去解决。
注意:prev一定要传指针的地址,因为每一次递归都要确保改变其