直接上C代码:
史上最简洁代码,加详细注释:
int reversList(List *h){ //h是链表头结点,不存数据
List * n = h->next; //n是一步指针
List * nn = n->next; //nn是二步指针
while(n != NULL && nn != NULL ){
n->next=nn->next;
nn->next=h->next; //容易误写成nn->next = n;
h->next= nn;
nn = n->next; //容易误加入n = n->next;
}
return 0;
}