58-Odd Even Linked List
来源:互联网 发布:中华小说网源码 编辑:程序博客网 时间:2024/05/18 03:22
- Odd Even Linked List My Submissions QuestionEditorial Solution
Total Accepted: 29496 Total Submissions: 77710 Difficulty: Medium
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 …
思路:主要是操作指针指向
时间:O(n) 节点数n
空间:O(1)
/** * 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) { if(head==NULL||head->next==NULL)return head;//头部为空或1个 ListNode * oddhead = head,*evenhead=head->next; ListNode *op=oddhead,*ep=evenhead,*opend=oddhead;//奇偶链首节点 while(op!=NULL&&ep!=NULL){ //循环修改指向 op->next = ep->next; if(op->next!=NULL)ep->next = op->next->next; opend = op; if(op!=NULL)op = op->next; if(ep!=NULL)ep = ep->next; } if(op!=NULL)opend=op; opend->next = evenhead; return head; }};
0 0
- 58-Odd Even Linked List
- Odd Even Linked List
- Odd Even Linked List
- Odd even Linked list
- Odd Even Linked List
- Odd Even Linked List
- Odd Even Linked List
- Odd Even Linked List
- Odd Even Linked List
- Odd Even Linked List
- Odd Even Linked List
- Odd Even Linked List
- Odd Even Linked List
- Odd Even Linked List
- Odd Even Linked List
- Odd Even Linked List
- odd even linked list
- Odd Even Linked List
- 生活杂文
- 程序员的成长和代码行数的关系
- 对话:一个工程师在蘑菇街4年的架构感悟
- ExtJS -- 各种Store
- iOS 取得ipa里面的图片
- 58-Odd Even Linked List
- 使用sync adapte(二)创建一个Authenticator
- 学习Handler、MessageQueue、Looper及其之间的关系
- ExtJS -- renderer 参数
- 设计模式之代理模式
- LCD
- poj1144(求割点)
- 今日BBC
- 打字第二天~