struct ListNode{
int data;
ListNode *next;
};
ListNode* ReverseList(ListNode* pHead){
if(pHead==NULL) return NULL;
ListNode *pPrev=NULL;
ListNode *pNode=pHead;
LiseNode *pNext=NULL;
while(pNode->next!=NULL){
pNext=pNode->next;
pNode->next=pPrev;
pPrev=pNode;
pNode=pNext;
}
ListNode *ReverseHead=pNode;
return ReverseHead;
}
三个结点,分别指向要改变next成员的结点pNode,next要指向的结点pPrev,next本来指向的结点pNext