/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* reverseList(struct ListNode* head) {
int i=0;
struct ListNode* p[5000];
if(head==NULL) return head;
while(head!=NULL){
p[i++]=head;
head=head->next;
}
i=i-1;
head=p[i];
for(;i>0;i--){
p[i]->next=p[i-1];
}
p[0]->next=NULL;
return head;
}
需要注意的是 n1 的下一个节点必须指向 ∅。如果忽略了这一点,链表中可能会产生环。
即链表最后一个节点必须需指向NULL;
浙公网安备 33010602011771号