package com.interview.algorithms.tree;
import com.interview.basics.model.tree.BinarySearchTree;
import com.interview.basics.model.tree.BinaryTreeNode;
/**
* Created_By: stefanie
* Date: 14-10-22
* Time: 下午8:28
*/
public class C5_17_BST2LinkedListNoExtraSpace {
public static BinaryTreeNode transfer(BinarySearchTree tree){
BinaryTreeNode head = tree.min();
transfer(tree.getRoot(), null);
return head;
}
private static BinaryTreeNode transfer(BinaryTreeNode node, BinaryTreeNode preNode){
if(node.left != null) preNode = transfer(node.left, preNode);
node.left = preNode;
if(preNode != null) preNode.right = node;
if(node.right != null) return transfer(node.right, node);
else return node;
}
}