L24两两交换链表中的结点(链表)

描述

1->2->3->4 两两交换 2->1->4->3

解题思路

L24两两交换链表中的结点(链表)

class Solution {
public:
    ListNode* swapPairs(ListNode* head) {
        if(!head) return nullptr;
        ListNode* newhead=new ListNode(0);
        newhead->next=head;
        ListNode* pre=newhead;
        while(pre->next!=nullptr&&pre->next->next!=nullptr){
            ListNode* cur=pre->next;
            ListNode* next=cur->next;
            pre->next=next;
            cur->next=next->next;
            next->next=cur;
            pre=cur;
        }
        return newhead->next;
    }
};
上一篇:算法题:206反转链表


下一篇:C练题笔记之:Leetcode-876. 链表的中间结点