首页 > 代码库 > 二进制查找树转换为双向链表

二进制查找树转换为双向链表

全然依照海涛哥剑指offer里边的递归思路来写的。基本一样。仅作学习验证。努力锻炼。努力学习!

题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建不论什么新的结点,仅仅调整指针的指向。

  比方将二元查找树
    
                                        10
                                          /    \
                                        6       14
                                      /  \     /  \
                                    4     8  12    16
转换成双向链表

4=6=8=10=12=14=16

code例如以下:

//Change a BSTree to a sorted double linklist
struct BSTreeNode 
{
	int value;
	BSTreeNode *left;
	BSTreeNode *right;
}head;
//Create a node of BSTree for test
BSTreeNode* CreateNode(int value)
{
	BSTreeNode *node = new BSTreeNode();
	node->value = http://www.mamicode.com/value;"%d ",head->value);
		head = head->right;
	}
}


二进制查找树转换为双向链表