/**
* Definition for singly-linked list.
* public class ListNode {
* public int val;
* public ListNode next;
* public ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode OddEvenList(ListNode head) {
if (head != null)
{
ListNode odd = head, even = head.next, evenHead = even; while (even != null && even.next != null)
{
odd.next = odd.next.next;
even.next = even.next.next;
odd = odd.next;
even = even.next;
}
odd.next = evenHead;
}
return head;
}
}

https://leetcode.com/problems/odd-even-linked-list/#/description

补充一个python的实现:

 class Solution:
def oddEvenList(self, head: 'ListNode') -> 'ListNode':
l = list()
while head:
l.append(head.val)
head = head.next even = None
odd = None
temp = None
if len(l) == :
return None
for i in range(len(l)-,-,-):
if i % == :
curodd = ListNode(l[i])
if not temp:
temp = curodd
curodd.next = odd
odd = curodd
else:
cureven = ListNode(l[i])
cureven.next = even
even = cureven
temp.next = even
return odd

补充一个简化版本的,执行效率更高:

 class Solution:
def oddEvenList(self, head: ListNode) -> ListNode:
if head == None:
return None
odd,even,evenhead = head,head.next,head.next
while even != None and even.next != None:
odd.next = odd.next.next
odd = odd.next
even.next = even.next.next
even = even.next
odd.next = evenhead
return head

最新文章

  1. 前端开发week3
  2. WCF入门
  3. Storm和JStorm(阿里的流处理框架)
  4. objective c, protocol
  5. Sharepoint学习笔记—习题系列--70-573习题解析 -(Q22-Q24)
  6. e2e 自动化集成测试 环境搭建 Node.js Selenium WebDriverIO Mocha Node-Inspector
  7. Atom远程连接服务器报错服务器版本和客户端版本不一致
  8. iOS 页面间传值 之 单例传值 , block 传值
  9. Qt部件学习之-烧鹅
  10. 1369 - Answering Queries(规律)
  11. 家庭洗车APP --- Androidclient开展 之 网络框架包介绍(一)
  12. mysql忘记密码,修改密码重新安装的一些问题
  13. Linux定义变量的脚本
  14. bzoj 1597: [Usaco2008 Mar]土地购买
  15. for循环,数组
  16. node中的事件发射器
  17. binTreePosterorderTraversal二叉树的后序遍历
  18. APICloud-端JS库功能API文档(1)
  19. Spark Storage(二) 集群下的broadcast
  20. Swarm配置文件管理

热门文章

  1. hdu 5877 Weak Pair dfs序+树状数组+离散化
  2. 安装rackspace private cloud --2 overview
  3. poj2135最小费用流
  4. android Application Project目录结构
  5. Django-进阶
  6. LeetCode OJ:Minimum Depth of Binary Tree(二叉树的最小深度)
  7. java学习笔记 --- 多线程(多线程的创建方式)
  8. ios --- 调用系统"设置"里的功能(转)
  9. 2.mysql优化---增删改优化
  10. javascript.history.go();