#24 Swap Nodes in Pairs

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">题目链接:https://leetcode.com/problems/swap-nodes-in-pairs</span>

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

For example,Given1->2->3->4, you should return the list as2->1->4->3.

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

/** * Definition for singly-linked list. * struct ListNode { *int val; *struct ListNode *next; * }; */struct ListNode* swapPairs(struct ListNode* head) {struct ListNode *preNode, *firstNode, *secondNode;if(head == NULL || head->next == NULL)return head;firstNode = head;secondNode = head->next;head = secondNode;firstNode->next = secondNode->next;head->next = firstNode;preNode = firstNode;while(preNode->next != NULL && preNode->next->next != NULL) {firstNode = preNode->next;secondNode = firstNode->next;preNode->next = secondNode;firstNode->next = secondNode->next;secondNode->next = firstNode;preNode = firstNode;}return head;}

版权声明:本文为博主原创文章,,未经博主允许不得转载。

喜欢就喜欢了,心被牵动,无须理由,爱上你是我的自由,

#24 Swap Nodes in Pairs

相关文章:

你感兴趣的文章:

标签云: