leetcode 328 奇偶链表
刚刚开始没想到,后来想到可以使用两个表头,分别串成两个表,然后奇数链表后面接上偶数链表,结束。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* oddEvenList(ListNode* head)
{
if(!head || !head->next)
return head;
ListNode* even = head->next;
ListNode* temp_odd = head;
ListNode* temp_even = head->next;
while(temp_even->next && temp_even->next->next)
{
temp_odd->next = temp_odd->next->next;
temp_even->next = temp_even->next->next;
temp_odd = temp_odd->next;
temp_even = temp_even->next;
}
if(temp_even->next)
{
temp_odd->next = temp_odd->next->next;
temp_odd = temp_odd->next;
}
temp_even->next = nullptr;
temp_odd->next = even;
return head;
}
};

浙公网安备 33010602011771号