void reorderList(ListNode* head) { if(head==NULL||head->next==NULL) return; ListNode *l1=head,*l2=head->next; while(l2&&l2->next) { l1=l1->next; l2=l2->next->next; } ListNode *h=l1->next; l1->next=NULL; ListNode *p=h->next; h->next=NULL; while(p) { ListNode *s=p; p=p->next; s->next=h; h=s; } p=head; while(h) { ListNode *s=p->next; p->next=h; h=h->next; p->next->next=s; p=s; } }
转载于:https://www.cnblogs.com/xLester/p/7570271.html