24. Swap Nodes in Pairs

来源:互联网 发布:百度网盘搜索源码 编辑:程序博客网 时间:2024/06/05 16:06


Given a linked list, swap every two adjacent nodes and return its head.

For example,
Given 1->2->3->4, you should return the list as 2->1->4->3.

Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.


struct ListNode* swapPairs(struct ListNode* head) {if (!head || !head->next)return head;else{head->next->next = swapPairs(head->next->next);struct ListNode* newHead = head->next;struct ListNode* ptr = head->next->next;newHead->next = head;head->next = ptr;return newHead;}}


0 0
原创粉丝点击