时间复杂度为O(n)的非递归单链表反转【算法导论课后题】
2014-09-29 14:53
225 查看
单链表反转:1->2->3->4...
![](http://images.cnblogs.com/cnblogs_com/pianoid/297395/o_SinglyLinkedList.JPG)
思路:先将1指向3,2指向1,结果为2->1->3->4,然后循环将3插入到2之前
时间复杂度为O(n)
思路:先将1指向3,2指向1,结果为2->1->3->4,然后循环将3插入到2之前
<span style="font-size:18px;">void reverseLinkedList(List head) { List tmp,p; if(head==null) { return ; } tmp=head->next; while(tmp->next !=null){ p=tmp->next; tmp-next=p->next; p->next=head->next; head->next=p; } }</span>
时间复杂度为O(n)
相关文章推荐
- MIT:算法导论——4.2快速排序 以及 排序算法时间复杂度分析
- 斐波那契数的 O(lgn) 时间复杂度算法
- 算法的时间复杂度
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- C/C++面试之算法系列--时间复杂度为o(N)查找1至N-1构成的a[N]重复元素
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 语句频度问题和算法得时间复杂度。
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- C/C++面试之算法系列--1~n无序数组时间复杂度为O(n)排序