Odd Even Linked List

原创 2016年06月01日 15:48:37
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 ...

Credits:

Special thanks to @DjangoUnchained for adding this problem and creating all test cases.

思路:

将一个链表的奇数节点放在偶数节点的前面。首相将整个链表拆分成两部分,一部分是由奇数节点构成,一部分是由偶数节点组成。而后将两部分进行链接就可以了

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* oddEvenList(ListNode* head) {
        ListNode *dummy=new ListNode(0);
        dummy->next=head;
        ListNode *res=head;
        ListNode *res_odd=new ListNode(0),*p=res_odd;
        ListNode *res_even=new ListNode(0),*q=res_even;
        int len=0;
        while(res)
        {
            if((++len)%2==1)
            {
                p->next=res;
                p=res;
            }
            else
            {
                q->next=res;
                q=res;
            }
            res=res->next;
        }
        q->next=NULL;
        p->next=res_even->next;
        return res_odd->next;
    }
};


版权声明:本文为博主原创文章,未经博主允许不得转载。

[leetcode-328]Odd Even Linked List(java)

问题描述:这里写链接内容问题分析:这里就是利用奇数和偶数位之间相互错位的位置关系。/** * Definition for singly-linked list. * public class L...
  • zdavb
  • zdavb
  • 2016年01月19日 20:46
  • 1513

<LeetCode OJ> 328. Odd Even Linked List

328. Odd Even Linked List My Submissions Question Total Accepted: 9271 Total Submissions: 24497 ...
  • EbowTang
  • EbowTang
  • 2016年01月30日 16:38
  • 1323

(LeetCode)Odd Even Linked List --- 奇偶链表

(LeetCode)Odd Even Linked List --- 奇偶链表
  • u012965373
  • u012965373
  • 2016年01月19日 21:35
  • 2489

328. Odd Even Linked List

Given a singly linked list, group all odd nodes together followed by the even nodes. Please note her...
  • sjt091110317
  • sjt091110317
  • 2016年01月18日 21:37
  • 371

LeetCode刷题 (Python) | 328. Odd Even Linked List

LeetCode刷题 (Python) | 328. Odd Even Linked List
  • Titan0427
  • Titan0427
  • 2016年02月10日 22:07
  • 445

leetcode 328 Odd Even Linked List(调整链表使得奇数位置的元素位于偶数位置元素之前)

Given a singly linked list, group all odd nodes together followed by the even nodes. Please note her...
  • yang20141109
  • yang20141109
  • 2016年05月27日 15:31
  • 565

Odd Even Linked List

Given a singly linked list, group all odd nodes together followed by the even nodes. Please note her...
  • brucehb
  • brucehb
  • 2016年01月26日 00:44
  • 266

Odd even Linked list

第一次出现了两次错误 class Solution { public: ListNode* oddEvenList(ListNode* head) { bool flag = ...
  • sumIv1210
  • sumIv1210
  • 2016年03月09日 13:23
  • 143

odd even linked list

本次所選做的題目: odd even linked list,題目的要求為給定一鍛鏈表,根據鏈表中各個節點中數字的奇偶做分類,奇數在前偶數在後形成一個新的鏈表,並且完成的時間複雜度在O(n)。 ...
  • louiewu
  • louiewu
  • 2017年02月26日 21:58
  • 40

Linked List——Odd Even Linked List

问题描述: 给定一个单链表,将所有奇数节点组合在一起,然后是偶数节点。 请注意,我们正在谈论节点号而不是节点中的值。 解题思路: 题目要求将节点分奇数和偶数组合,而奇数和偶数正好是交替的,所...
  • Asynchronicity
  • Asynchronicity
  • 2017年04月09日 20:43
  • 74
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Odd Even Linked List
举报原因:
原因补充:

(最多只允许输入30个字)