奇偶链表

给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。

  • 第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。
  • 请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。
  • 你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。

示例 1:

输入: head = [1,2,3,4,5]
输出: [1,3,5,2,4]

示例 2:

输入: head = [2,1,3,5,6,4,7]
输出: [2,3,6,7,1,5,4]

注意:此题默认奇偶相隔,不需要判断每个位置是基数还是偶数,请一定认真审题!!!

class Solution { public ListNode oddEvenList(ListNode head) { if (head == null) { return head; } ListNode evenHead = head.next; ListNode odd = head, even = evenHead; while (even != null && even.next != null) { //odd的下一个指向相隔的节点 odd.next = even.next; //odd后移 odd = odd.next; //even的下一个指向相隔的节点 even.next = odd.next; //even后移 even = even.next; } //两个链表拼接到一起 odd.next = evenHead; return head; } }

力扣:328 奇偶链表


__EOF__

本文作者Stdio.Qu
本文链接https://www.cnblogs.com/czarQ/p/17664580.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   沉淀i  阅读(10)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示