【题目】:
对二叉树的节点来说,有本身的值域,有指向上一个节点和下一个节点的指针。在结构上,两种结构有相似性,现在有一棵搜索二叉树,请将其转换为一个有序的双向链表
例如,节点定义为:
1 public class Node{ 2 public int value; 3 public Node left; 4 public Node right; 5 public Node(int data){ 6 this.value = data; 7 } 8 }
一棵搜索二叉树如图所示:
6
4 7
2 5 9
1 3 8
这棵搜索二叉树转换后的双向链表从头到尾依次是1~9,对每一个节点来说,原来的right指针等价于转换后的next指针,原来的left指针等价于转换后的last指针,最后返回转换后的双向链表头节点
题目来源:左程云老师《程序员代码面试指南》