搜索二叉树转换为双向链表

搜索二叉树转换为双向链表


package SwordToOffer;

import java.util.Stack;

/**中序遍历的思想
 * Create by ~JH~ on 2018/5/1
 * 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。
 * 要求不能创建任何新的结点,只能调整树中结点指针的指向。
 */
public class TreeConvertToLink {
    public TreeNode Convert(TreeNode pRootOfTree) {
            ConvertTo(pRootOfTree);
            return realHead;

    }
    TreeNode head=null,realHead=null;
    public void ConvertTo(TreeNode pRootOfTree){
        if (pRootOfTree==null){
            return ;
        }
        ConvertTo(pRootOfTree.left);
        if (head==null){
            realHead=pRootOfTree;
            head=pRootOfTree;
        }else{
            head.right=pRootOfTree;
            pRootOfTree.left=head;
            head=pRootOfTree;
        }
        ConvertTo(pRootOfTree.right);
    }

    public static void main(String[] args) {


    }
}

猜你喜欢

转载自blog.csdn.net/jh_ww/article/details/80160962