1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| /** * Definition for singly-linked list. * struct ListNode { * int val * struct ListNode *next * } */
struct ListNode* reverseList(struct ListNode* head){ if(head==NULL) return NULL
struct ListNode*n1=NULL struct ListNode*n2=head struct ListNode*n3=n2->next
while(n2)//n2是反转的主角,所以n2到空才可以,迭代过程 { n2->next=n1 n1=n2 n2=n3 if(n3) n3=n3->next } return n1
}
|