欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LeetCode-024:Swap Nodes in Pairs

程序员文章站 2024-03-21 13:10:34
...

题目:

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

Example:

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

Note:

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

题意:

交换单链表中每对节点的空间!!!

思路:

水题~

Code:

/**
 * 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) {
        ListNode *nhead=new ListNode(0);
        nhead->next=head;
        ListNode *pre=nhead,*cur=head;
        while(cur&&cur->next){
            pre->next=cur->next;
            cur->next=pre->next->next;
            pre->next->next=cur;
            pre=cur;
            cur=cur->next;
        }
        return nhead->next;
    }
};

 

相关标签: 单链表