搜索二叉树转换为双向链表
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) {
}
}