struct Node**phead
*phead
oldHead->next
newHead
tmp
&head
#include <stdio.h>
#include <stdlib.h>
struct Node{
int data;
struct Node* next;
};
struct Node* createList(){
/* 细节省略 */
}
void reverseList(
struct Node**phead
){
struct Node* tmp, *newHead, *oldHead;
newHead = NULL;
oldHead =
*phead
;
while(oldHead){
tmp = oldHead;
oldHead =
oldHead->next
;
tmp->next =
newHead
;
newHead =
tmp
;
}
*phead = newHead;
}
int main(){
struct Node* head=createList();
reverseList(
&head
);
return 0;
}