本题是将链表进行分开,举个例子:
有如下链表:1->2->3->4->5->6
经过本题的算法处理后输出的listNode序列为:1->3->5->2->4->6
也就是将奇数位置与偶数位置的元素聚集在一起;
结合代码注释即可看懂
有问题欢迎关注我的微信公众号:AI学习经历分享,

还有大量算法与开发的网盘学习资源,也可以加我微信与我私聊~
算法运行截图:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode oddEvenList(ListNode head) {
if(head==null){
return null;//如果链表为空则返回null
}
ListNode evenHead = head.next; //定义偶数链表的起始节点
ListNode odd = head,even=evenHead; //odd为奇数的起始节点,even为偶数链表的起始节点
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;//链表最终处理结果输出
}
}