zoukankan      html  css  js  c++  java
  • leetcode328 Odd Even Linked List

     1 """
     2 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.
     3 
     4 You should try to do it in place. The program should run in O(1) space complexity and O(nodes) time complexity.
     5 
     6 Example 1:
     7 
     8 Input: 1->2->3->4->5->NULL
     9 Output: 1->3->5->2->4->NULL
    10 
    11 Example 2:
    12 
    13 Input: 2->1->3->5->6->4->7->NULL
    14 Output: 2->3->6->7->1->5->4->NULL
    15 
    16 """
    17 
    18 class ListNode:
    19     def __init__(self, x):
    20         self.val = x
    21         self.next = None
    22 class Solution(object):
    23     def oddEvenList(self, head):
    24         if head == None or head.next == None:  #头结点限定条件
    25             return head
    26 
    27         odd = head
    28         even = head.next
    29         t = even   #!!!记录偶数结点的起始位置
    30         while even != None and even.next != None:
    31             #!!!遍历结点,保持奇数偶数结点的相对位置
    32             odd.next = even.next  #连接奇数结点
    33             odd = odd.next        #调整位置
    34             even.next = odd.next  #连接偶数结点
    35             even = even.next      #调整位置
    36         odd.next = t              #整合链表
    37         return head
    38 
    39 """
    40 注意题意,
    41 这里的奇数节点和偶数节点指的是节点编号的奇偶性,
    42 而不是节点的值的奇偶性。
    43 此类题只需要遍历一遍链表,需要两个指针来进行操作
    44 如previous,current(leetcode83)
    45 传送门https://blog.csdn.net/qq_17550379/article/details/80654239
    46 """
  • 相关阅读:
    网络编程初探
    MY GOAL
    推荐一个网站:编程资料网 http://www.ourdev.net/
    端午时节, 嘿嘿, 用论文砸自己一把
    Requirement for My Job
    MVC 才是正道, say bye to naive
    linux下的top命令参数说明 (virt,res,shr,data 的意义)
    Linux中线程与CPU核的绑定
    linux多线程域名解析函数导致的内存空间占用增长
    MD5简介
  • 原文地址:https://www.cnblogs.com/yawenw/p/12250401.html
Copyright © 2011-2022 走看看