您的位置:首页 > 编程语言 > Java开发

时间复杂度为O(n)的非递归单链表反转【算法导论课后题】

2014-09-29 14:53 225 查看
单链表反转:1->2->3->4...



思路:先将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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐