`

Odd Even Linked List

阅读更多
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 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 ...

给定一个链表,将奇数的节点放在前面,将偶数的节点放在后面。代码如下:
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public ListNode oddEvenList(ListNode head) {
        if(head == null || head.next == null) return head;
        ListNode oddNode = head;
        ListNode evenNode = head.next;
        ListNode helper = evenNode;
        while(evenNode != null && evenNode.next != null) {
            oddNode.next = evenNode.next;
            evenNode.next = evenNode.next.next;
            evenNode = evenNode.next;
            oddNode = oddNode.next;
        }
        oddNode.next = helper;
        return head;
    }
}
分享到:
评论

相关推荐

    LeetCode最全代码

    * [Linked List](https://github.com/kamyu104/LeetCode#linked-list) * [Stack](https://github.com/kamyu104/LeetCode#stack) * [Queue](https://github.com/kamyu104/LeetCode#queue) * [Heap]...

    前端大厂最新面试题-linked-list.docx

    10. 链表的奇偶链表(Odd-Even Linked List) 链表的奇偶链表是将链表中的节点分隔成奇数节点和偶数节点。这种结构可以用于解决一些特殊的问题,例如,将链表分隔成奇偶链表以满足某些算法的要求。 知识点:链表的...

    拆分双向链表.zip

    这里的关键是通过两个指针`odd`和`even`来遍历链表,它们分别表示当前奇数位置和偶数位置的节点。同时,我们需要保持对这两个链表的头节点的引用: ```java public class LinkedListSplitter { public static ...

    leetcode跳跃-Algorithm:算法学习,包括leetcode算法题,

    odd-even-linked-list 无官方题解 94 binary-tree-inorder-traversal 无官方题解 104 maximum-depth-of-binary-tree 105 construct-binary-tree-from-preorder-and-inorder-traversal 无官方题解 106 construct-...

    WPTools.v6.29.1.Pro

    please see list at http://www.wpcubed.com/manuals/formatstrings.htm - WPTools is configured using the file WPINC.INC, here WPREPORTER is activated and the optional WPShared, WPSPell and wPDF can ...

    FlexGraphics_V_1.79_D4-XE10.2_Downloadly.ir

    - FIX: Problems grouping objects linked with connectors. (Their paths used to break during grouping). Fixed TFlexControl.DoNotify for fnRect, fnParent. - FIX: Function ListScanEx in the module ...

Global site tag (gtag.js) - Google Analytics