描述
给一个链表,两两交换其中的节点,然后返回交换后的链表。
样例
思路:
每次交换两个节点的数据域的数据元素,很简单的一个置换。代码如下:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: /** * @param head a ListNode * @return a ListNode */ ListNode* swapPairs(ListNode* head) { if(head==NULL) return head; ListNode *temp=head; while(temp!=NULL&&temp->next!=NULL) { int m=temp->next->val; temp->next->val=temp->val; temp->val=m; temp=temp->next->next; } return head; } };