leetcode Odd Even Linked List
2016-01-16 13:09
288 查看
Given a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.
You should try to do it in place. The program should run in O(1) space complexity and O(nodes) time complexity.
Example:
Given
return
Note:
The relative order inside both the even and odd groups should remain as it was in the input.
The first node is considered odd, the second node even and so on ...
C++ / java见原文 细语呢喃 > leetcode
Odd Even Linked List
本文是leetcode 328 Odd Even Linked List 的题解,更多题解可见 http://www.hrwhisper.me/leetcode-algorithm-solution/
class Solution(object):
def oddEvenList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if not head: return head
p, q = head, head
while q:
q = q.next
if not q or not q.next: break
next_p, next_q = p.next, q.next
q.next = next_q.next
p.next ,next_q.next = next_q , next_p
p = p.next
return head
You should try to do it in place. The program should run in O(1) space complexity and O(nodes) time complexity.
Example:
Given
1->2->3->4->5->NULL,
return
1->3->5->2->4->NULL.
Note:
The relative order inside both the even and odd groups should remain as it was in the input.
The first node is considered odd, the second node even and so on ...
C++ / java见原文 细语呢喃 > leetcode
Odd Even Linked List
本文是leetcode 328 Odd Even Linked List 的题解,更多题解可见 http://www.hrwhisper.me/leetcode-algorithm-solution/
class Solution(object):
def oddEvenList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if not head: return head
p, q = head, head
while q:
q = q.next
if not q or not q.next: break
next_p, next_q = p.next, q.next
q.next = next_q.next
p.next ,next_q.next = next_q , next_p
p = p.next
return head
相关文章推荐
- caffe批量分类
- apache-spark导入eclipse环境
- 分析函数在数据分析中的应用
- FatMouse' Trade(杭电1009)
- Django framework
- graphite 绘图工具
- UISearchBar总结
- Origin字段
- hrbust 1621 迷宫问题II 广搜
- 如何通过邮件头和传输跟踪日志查看原始客户端IP 推荐
- javascript学习笔记(一)
- 深入理解java异常处理机制
- Visual Studio 2013快捷键
- Golang初级系列教程-接口
- 用ImageSwitcher实现图片动态切换
- struts2 使用ajax 传递json数据
- JVM学习笔记(十一)---典型配置举例(二)
- CSS学习笔记 制作一个漂亮的表格
- Python integer ranges
- RHCE7认证学习笔记17——KickStart安装系统