看到好多博客里面写链表翻转时候就是代码要么一样,要么没有注释。咱最近闲人一枚,准备好好写写code给大家分享一下自己的思想....
使用前插法;
1->2->3->4->NULL;
我把1标记为prev,把2标记temp,把3标记next‘
使得最后顺序输出:4->3->2->1->NULL;
定义linklist类型的prev ,temp,next。
有: next-=temp->next;
temp->next=prev;
prev=temp;
temp=next;
考虑关键点:当该链表为空表或者是只有一个节点//
code:
LinkList reverse(LinkList link)
{
if(list==NULL||list->next==NULL)
return list;
LinkList prev,temp,next;
prev=list; temp=list->next;prev->next=NULL;
while(temp!=NULL)
{
next-=temp->next;
temp->next=prev;
prev=temp;
temp=next;
}return prev;
}