摘要:
此题为July在CSDN发布的微软编程面试100题中的第一题,觉得蛮有趣的,今天也拿过来玩玩,July的代码用的是C++实现,可能因为有指针的原因吧,感觉看起来相对比较容易理解整个的实现过程,而我,试着用C#完成这样的功能。完整的题目如下:把二元查找树转变成排序的双向链表,要求不能创建任何新的结点,只调整指针的指向。 10 / \6 14/ \ / \4 8 12 16转换成双链表 4=6=8=10=12=14=16动手编码之前,先回顾下二叉查找树的特点:任意节点的左子树都要小于当前节点,右子树都要大于当前节点。查询某个值,需要的时间复杂度为O(lgN)。现在要求将其由树状结构改造... 阅读全文