struct ListNode* ReverseList(struct ListNode* head ) { struct ListNode *n1=NULL,*n2=head,*n3=head->next; if(head) { while(n2) { n2->next=n1; n1=n2; n2=n3; if(n3) n3=n2->next; } } return n1; }