问题
例子
思路
-
方法1
将奇节点放在一个链表里,偶链表放在另一个链表里。然后把偶链表接在奇链表的尾部【==记得把偶链表的尾部置为null】
-
方法2
代码
//方法1
class Solution {
public ListNode oddEvenList(ListNode head) {
if(head==null || head.next==null) return head;
ListNode heada = head,a=heada;
ListNode headb = head.next,b=headb;
while(b.next!=null && b.next.next!=null) {
ListNode t = b.next.next;
a.next=b.next;
b.next=t;
a=a.next;
b=b.next;
}
//奇数个
if(b.next!=null) {
a.next=b.next;
a=a.next;
}
b.next=null;
a.next=headb;
return heada;
}
}
//方法2