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