题意:给出一个单链表,将位于奇数位和偶数位的分组,重新组成链表,要求空间复杂度为O(1)

思路:用四个结点,其中两个表示奇数链表的头和尾,另外两个表示偶数链表的头和尾,注意,偶数链表的尾可能为空或者不为空,在不为空时,需要将下一结点置为空

代码如下:

class Solution
{public ListNode oddEvenList(ListNode head){if (null == head) return head;ListNode oddhead = null;ListNode oddtail = null;ListNode evenhead = null;ListNode eventail = null;ListNode p = head;int cnt = 1;while (p != null){if (1 == cnt % 2){if (null == oddhead){oddhead = p; oddtail = p;}else{oddtail.next = p;oddtail = oddtail.next;}}else{if (null == evenhead){evenhead = p; eventail = p;}else{eventail.next = p;eventail = eventail.next;}}p = p.next;cnt++;}if (eventail != null) eventail.next = null;oddtail.next = evenhead;return oddhead;}
}

LeetCode Odd Even Linked List相关推荐

  1. LeetCode 92. Reverse Linked List II--Python 解法--反转部分链表--笔试算法题

    题目地址:Reverse Linked List II - LeetCode Reverse a linked list from position m to n. Do it in one-pass ...

  2. 【回文串7】LeetCode 234. Palindrome Linked List

    LeetCode 234. Palindrome Linked List Solution1:我的答案 一遍过,哈哈哈! /*** Definition for singly-linked list. ...

  3. 【??链表】LeetCode 92. Reverse Linked List II

    LeetCode 92. Reverse Linked List II Solution1: 参考网址:http://www.cnblogs.com/grandyang/p/4306611.html ...

  4. 【LeetCode】328. Odd Even Linked List 解题报告(Python C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...

  5. [leetcode]328. Odd Even Linked List

    题目 Given a singly linked list, group all odd nodes together followed by the even nodes. Please note ...

  6. leetcode 328. Odd Even Linked List | 328. 奇偶链表(Java)

    题目 https://leetcode.com/problems/odd-even-linked-list/ 题解 要注意的是,因为只将偶数位置的节点 append 到最后,所以用于判断停止的 tai ...

  7. LeetCode 206 Reverse Linked List--反转链表--迭代与递归解法--递归使用一个临时变量,迭代使用3个

    此题链接:Reverse Linked List - LeetCode Reverse a singly linked list. Example: Input: 1->2->3-> ...

  8. Leet Code OJ 328. Odd Even Linked List [Difficulty: Easy]

    题目: Given a singly linked list, group all odd nodes together followed by the even nodes. Please note ...

  9. leetcode 203. Remove Linked List Elements(链表)

    Remove all elements from a linked list of integers that have value val. Example Given: 1 --> 2 -- ...

最新文章

  1. Erlang error?
  2. cv2.circle函数
  3. 火狐不支持event.keyCode,用jquery中的event.which轻松解决。
  4. 有监督学习和无监督学习举例_对比自监督学习
  5. Tiny模板语言(VelocityPlus)初步入门
  6. 使用Servlet上传多张图片——Dao层(ProductInfoDao.java)
  7. mysql安装注意步骤,mysql安装步骤
  8. laravel 如何 new php 类,PHP实例:laravel通过创建自定义artisan make命令来新建类文件详解...
  9. 50-00-040-配置-Flink Configuration简介
  10. java调用c 返回值_推荐--Linux平台下Java调用C函数(补充关于String类型函数返回值)...
  11. Ajax关于readyState和status的讨论
  12. 【博客管理】他山之石简介【置顶】
  13. Shell脚本定义变量和重新赋值
  14. 一、二线城市 IT 公司大盘点!建议收藏
  15. 【滤波器】4. 反相输入有源低通滤波器
  16. 国际足联还不考虑在中国办一届世界杯吗?
  17. FFmpeg源码分析:avcodec_find_decoder()查找解码器
  18. 蜀山前传之二---------------第八回
  19. Laya之微信小游戏入门
  20. 达人秀计算机教学,回顾〡信息技术达人秀

热门文章

  1. 如何成为一名专家级的开发人员
  2. python里面的之前打过的记忆信息-忘了Python关键语句?这份备忘录拯救你的记忆...
  3. 自学python数据分析要多久-如果只有1小时学Python,看这篇就够了
  4. python入门自学-你是如何自学 Python 的?
  5. python csv读取-Python对于CSV文件的读取与写入
  6. python中文解释-python注释和2版本的中文乱码
  7. 用python画烟花-如何用python画烟花
  8. python创建csv文件并写入-Python 读写 CSV
  9. python常用函数-Python 学习:常用函数整理
  10. 运行python需要网吗-浏览器运行python脚本吗