且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

LeetCode - 24. Swap Nodes in Pairs

更新时间:2022-05-19 01:36:54

 24. Swap Nodes in Pairs

Problem's Link

 ----------------------------------------------------------------------------

Mean: 

给定一个链表,交换这个链表两两相邻的元素.

analyse:

Time complexity: O(N)

 

view code

/**
* -----------------------------------------------------------------
* Copyright (c) 2016 crazyacking.All rights reserved.
* -----------------------------------------------------------------
*       Author: crazyacking
*       Date  : 2016-02-19-10.35
*/
#include <queue>
#include <cstdio>
#include <set>
#include <string>
#include <stack>
#include <cmath>
#include <climits>
#include <map>
#include <cstdlib>
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long(LL);
typedef unsigned long long(ULL);
const double eps(1e-8);


// Definition for singly-linked list.
struct ListNode
{
   int val;
   ListNode *next;
   ListNode(int x) : val(x), next(NULL) {}
   };

class Solution
{
public:
   ListNode* swapPairs(ListNode* head)
   {
       if(!head || head->next==nullptr)
           return head;
       ListNode *frontPtr=head,*backPtr=head->next;
       while(frontPtr && backPtr)
       {
           swap(frontPtr->val,backPtr->val);

           frontPtr=frontPtr->next;
           if(frontPtr!=nullptr)
               frontPtr=frontPtr->next;

           backPtr=backPtr->next;
           if(backPtr!=nullptr)
               backPtr=backPtr->next;

       }
       return head;
   }
};

int main()
{

   return 0;
}
/*

*/