本题为将一个现有的单向链表调整顺序,使得先是奇数项结点后是偶数项结点
此处需要注意的是,奇偶指的是结点序号,而不是结点的值
首先初始化odd结点为head,even结点为head->next,evenHead记录第一个偶结点的位置
ListNode *odd = head;
ListNode *even = head->next;
ListNode *evenHead = even;
然后奇结点的next指针指向偶结点的下一结点,偶结点的next指针指向奇结点的下一结点:
odd->next = even->next;
odd = odd->next;
even->next = odd->next;
even = even->next;
最后将最后一个奇结点指向第一个偶结点的位置即可:
odd->next = evenHead;