int Reverse(Linklist L) { Linklist p,q,r; if(L->next == NULL || L == NULL) //空链表 { return 1; }
p = L->next; q = p->next; //保存原第2个节 p->next = NULL; //原第一个节点为末节点 while(q != NULL) //遍历,各节点的next指针反转 { r = q->next; q->next = p; p = q; q = r; } L->next = p; //新的第一个节点为原末节点 return 0; }