struct ListNode* ReverseList(struct ListNode* pHead ) {
struct ListNode *p1,*p2,*p3;
if(pHead!=NULL)
{
p1=pHead;
p2=(struct ListNode *)malloc(sizeof(struct ListNode));
p2->val=p1->val;
p2->next=p3;
p3=p2;
p1=pHead->next;
while(p1!=NULL)
{
p2=(struct ListNode *)malloc(sizeof(struct ListNode));
p2->val=p1->val;
p2->next=p3;
p3=p2;
p1=p1->next;
if(p1==NULL)
break;
}
return p3;
}
else
return pHead;
// write code here
} 
京公网安备 11010502036488号