[leetcode]两两交换链表中的节点 递归解法

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

示例:

给定 1->2->3->4, 你应该返回 2->1->4->3.

class Solution {
public:
    ListNode* swapPairs(ListNode* head) {
        ListNode *tmp = nullptr;
        if(head->next->next)
        {
            tmp = swapPairs(head->next->next);
        }
        ListNode *tmpchange = head->next;
        head->next->next = head;
        head->next = tmp;
        return tmpchange;
    }
};

更多题目欢迎访问github

你可能感兴趣的:(c++leetcode练习,leetcode,c++)