从第2个节点到第N个节点,依次逐节点插入到第1个节点(head节点)之后,最后将第一个节点挪到新表的表尾。
- Node* ReverseList(Node* head)
- {
- Node *p,*q;
- p=head->next;
- while(p->next!=NULL) //在这个循环过程中p所指的元素一直是不变的
- {
- q=p->next;
- p->next=q->next;
- q->next=head->next;
- head->next=q;
- }
- p->next=head; //相当于成环
- head=p->next->next; //新head变为原head的next
- p->next->next=NULL; //断掉环
- return head;
- }