首页 > 技术文章 > 拖延症讲:反向遍历链表

scutwang 2014-10-23 12:47 原文

今天感觉被面试官用很简单的题目虐了。。。。“如何高效等反向遍历单链表”

一般情况下会想到一个很笨的方法:计算个数,然后再根据个数每一次将遍历的索引减一。

第二种方式就是将原链表反过来,再遍历。如果要求不改变原有结构,可以使用新建一个反向的链表。但是每一次分配内存的效率其实也不低。

第三种方式,应该是栈。遍历一遍,将所有的节点都压栈,然后在全部出栈。(有人提出用递归的方式,其实这种方式,考虑到系统调用的开销。感觉开销也不小。)

 

周末再重写。

 

参考:http://bbs.csdn.net/topics/340088481

  http://www.xuebuyuan.com/2019084.html

推荐阅读