给定单链表的头节点 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]思路:给了我们一个链表,让我们分开奇偶节点,所有奇节点在前,偶节点在后。
设定两个虚拟节点,dummyHead1 用来保存奇节点,dummyHead2 来保存偶节点; 遍历整个原始链表,将奇节点放于dummyHead1 中,其余的放置在dummyHead2 中 遍历结束后,将dummyHead2 插入到dummyHead1 后面。# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def oddEvenList(self, head: ListNode) -> ListNode:odd = dummpy1 = ListNode(0)even = dummpy2 = ListNode(0)while head:odd.next = headodd = odd.nexthead = head.nextif head:even.next = headeven = even.nexthead = head.nexteven.next = Noneodd.next = dummpy2.nextreturn dummpy1.next

35. Leetcode 328. 奇偶链表 (链表-双指针)相关推荐

  1. Java实现 LeetCode 328 奇偶链表

    328. 奇偶链表 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起.请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性. 请尝试使用原地算法完成.你的算法的空间复杂 ...

  2. leetcode 328. 奇偶链表(双指针)

    给定一个单链表,把所有的奇数节点和偶数节点分别排在一起.请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性. 请尝试使用原地算法完成.你的算法的空间复杂度应为 O(1),时 ...

  3. LeetCode 328.奇偶链表

    题目(20¥) 题目地址:https://leetcode-cn.com/problems/odd-even-linked-list/ 题解 oddHead 节点即 head 节点,evenHead ...

  4. 刻意练习:LeetCode实战 -- Task09. 环形链表

    背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务.本期训练营采用分类别练习的模式,即选择了五个知识点(数组.链表.字符串.树.贪心算法),每个知 ...

  5. LeetCode实战:环形链表

    题目英文 Given a linked list, determine if it has a cycle in it. To represent a cycle in the given linke ...

  6. 刻意练习:LeetCode实战 -- Task11. 删除链表的倒数第N个节点

    背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务.本期训练营采用分类别练习的模式,即选择了五个知识点(数组.链表.字符串.树.贪心算法),每个知 ...

  7. LeetCode实战:排序链表

    背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 Sort a link ...

  8. LeetCode实战:删除链表中的节点

    背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 Write a fun ...

  9. LeetCode实战:反转链表

    背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 Reverse a s ...

最新文章

  1. python 科学计算设计_Python科学计算——Data Structures
  2. HTTP Error 500.21
  3. JDK自带的log-java.util.logging
  4. golang 生成随机数
  5. 【英语学习】【科学】【Glencoe Science】【D】Human Body Systems 目录及术语表
  6. 使你的.bashrc文件立即生效方法
  7. 还有这种操作?浅析为什么要看源码
  8. windows 下 新建 点开头的文件和文件夹
  9. 攻略:简易病毒制作(Windows)
  10. Eclipse下载安装Spring插件
  11. 商业模式及其 SubDAO 深入研究
  12. Tomcat Caused by:java.lang.IllegalArgumentException: 指定的主资源集[……]无效
  13. 计算机的磁盘碎片是什么,什么是磁盘的碎片化
  14. clickhouse-backup数据备份
  15. ios修改apn的插件_更改接入点,瞬间让你在4G网络下快到不行!效果立竿见影!...
  16. Google play billing(Google play 内支付) 上篇
  17. android 瀑布流 的实现
  18. 利用Rustlings对Rust语言进行学习
  19. commit 提交规范
  20. outlook2007 配置

热门文章

  1. PHP7.0 Window10 Redis安装教程
  2. 关于sendmail报错“did not issue MAIL/EXPN/VRFY/ETRN during connection to
  3. 如果觉得职业看不到头,趁早换工作吧
  4. Alpha 冲刺报告(3/10)
  5. AutoLayout全解
  6. ASP.NET Core 中文文档 第四章 MVC(4.3)过滤器
  7. flash 遮罩层全解
  8. POS机专业国密安全芯片
  9. 配置管理漫漫谈之CCB
  10. 值得研究的 开源数据库