struct ListNode* oddEvenList(struct ListNode* head ) { // write code here if(!head || !head->next) return head; struct ListNode *head1=head->next,*p=head,*q=head1; while(p->next && q->next){ p->next=q->next; p=p->next; q->next=p->next; q=q->next; } p->next=head1; return head; }