328. Odd Even Linked List(連結串列)
阿新 • • 發佈:2019-01-01
https://leetcode.com/problems/odd-even-linked-list/description/
題目:將連結串列奇數位上的節點放到偶數位上的節點前面。
思路:分別構造兩條連結串列:奇數位的連結串列,偶數位的連結串列,最後一個奇數位節點的下一個節點為偶數位節點的開頭
空間複雜度O(1),時間複雜度O(n)
class Solution {
public:
ListNode* oddEvenList(ListNode* head) {
ListNode *odd , *even, *even_head;
if(!head) return head;
odd = head;
even = head->next;
even_head = even;
while( odd && even && even->next){
odd->next = even->next;
even->next = even->next->next;
odd = odd->next;
even = even->next ;
}
odd->next = even_head;
return head;
}
};