[LeetCode]024-Swap Nodes in Pairs

题目:
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.

Solution:

    ListNode* swapPairs(ListNode* head) 
    {
        if(head == NULL || head->next == NULL)
            return head;
        ListNode * temp = head;
        while(temp != NULL)
        {
            if(temp->next !=NULL)//数目是奇数时,比如1 2 3,到3位置后面是空就break
            {
                swap(temp->val,temp->next->val);
                temp = temp->next->next;
            }
            else
                break;
        }
        return head;
    }

你可能感兴趣的:(LeetCode)