思路如下:
1、建立两个辅助结点,一个连接奇数结点,一个连接偶数结点,再将偶数链表的头结点接到奇数结点末尾即可
2、边界条件为head为空
图片来源
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode oddEvenList(ListNode head) {
if(head==null){
return head;
}
ListNode evenhead=new ListNode();
evenhead=head.next;
ListNode odd=new ListNode();
ListNode even=new ListNode();
odd=head;
even=evenhead;
while(even!=null&&even.next!=null){
odd.next=even.next;
odd=odd.next;
even.next=odd.next;
even=even.next;
}
odd.next=evenhead;
return head;
}
}
原题地址:
328. 奇偶链表