对于链表的反转我开始的思路是循环遍历链表,找到最后一个节点,将其从原链表剔除再将其接在新链表的尾节点后面
但是这个方法很耗费时间!
在书上我看到了一个跟简单的方法:每次将头指针的下一个节点放在新链表头节点后面
代码如下:
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 }