题目

image.png

思路

  • 结点1作为奇数链的头 结点2作为偶数链的头,从第3个点开始遍历,依次轮流附在奇、偶链的后面遍历完后,奇数链的尾连向偶链的头,偶链的尾为空, 返回奇数链的头。

    代码

    1. public ListNode oddEvenList(ListNode head) {
    2. if (head == null || head.next == null) {
    3. return head;
    4. }
    5. ListNode p1 = head, p2 = head.next, cur = head.next;
    6. while (cur != null && cur.next != null) {
    7. p1.next = p1.next.next;
    8. cur.next = p1.next.next;
    9. p1 = p1.next;
    10. cur = cur.next;
    11. }
    12. p1.next = p2;
    13. return head;
    14. }
    奇偶链表