单链表的反转

  

  对于链表的反转我开始的思路是循环遍历链表,找到最后一个节点,将其从原链表剔除再将其接在新链表的尾节点后面

但是这个方法很耗费时间!

  在书上我看到了一个跟简单的方法:每次将头指针的下一个节点放在新链表头节点后面

代码如下:

 1 对于链表的反转我开始的思路是循环遍历链表,找到最后一个节点,将其从原链表剔除再将其接在新链表的尾节点后面
 2 
 3 但是这个方法很耗费时间!
 4 
 5   在书上我看到了一个跟简单的方法:每次将头指针的下一个节点放在新链表头节点后面
 6 
 7 代码如下:
 8 
 9 LinkList *reverse(LinkList L,){
10          LinkList *t,*newhead;
11           newhead=(LinkList*)malloc(siziof(LinkList));
12     while(L->!=NULL)
13     { t=L->next;
14        L->next=t->next;
15        t->next=newhead->next;
16       newhead->next=t;
17  
18  
19      }
20 return newhead;
21  
22  }
原文地址:https://www.cnblogs.com/mwq1024/p/10581005.html