奇偶链表(leetcode328)c++
https://leetcode-cn.com/problems/odd-even-linked-list/
//将奇节点放在一个链表里,偶链表放在另一个链表里。然后把偶链表接在奇链表的尾部
/**
* 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==nullptr){
return head;
}
ListNode *old_head=head;
ListNode *p=head->next;
ListNode *new_head=p;
while(p && p->next){
old_head->next=p->next;
old_head=old_head->next;
p->next=old_head->next;
p=p->next;
}
old_head->next=new_head;
return head;
}
};