面试100题:1 把二元查找树转变成排序的双向链表

来源:互联网 发布:js按钮让视频全屏 编辑:程序博客网 时间:2024/06/05 00:13

1.把二元查找树转变成排序的双向链表
题目:
输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。
要求不能创建任何新的结点,只调整指针的指向。

   10
  / /
 6  14
/ / / /
4 8 12 16

转换成双向链表
4=6=8=10=12=14=16。

现存问题:
1 造成内存泄露,因为只有new,没有delete
2 printNode()函数打印结果与预期不符

 

 

 

 

打印结果:

Left == 4 , Current == 10 , Right == 12
Left == NULL , Current == 4 , Right == 6
Left == 4 , Current == 6 , Right == 8
Left == 8 , Current == 10 , Right == 12
Left == 10 , Current == 12 , Right == 14
Left == 12 , Current == 14 , Right == 15
Left == 14 , Current == 15 , Right == 16
4 6 8 10 12 14 15

 

原创粉丝点击