• leetcode[24]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.

    /**
     * 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==NULL||head->next==NULL)return head;
        ListNode *res=new ListNode(-1);
        res->next=head;
        ListNode *front=head->next;
        ListNode *later=head;
        ListNode *p=res;
        while(front!=NULL)
        {
            later->next=front->next;
            front->next=later;
            p->next=front;
            p=later;
            if (later->next==NULL)break;
            later=later->next;
            front=later->next;
        }
        return res->next;
        }
    };
  • 相关阅读:
    Lua 的元表怎么理解
    Lua中的元表与元方法
    Lua 的元表怎么理解
    VMware Workstation 系统备份-虚拟机克隆方法
    Lua中的元表与元方法
    bzoj2809
    bzoj2733
    bzoj1334
    bzoj1211
    bzoj3083 3306
  • 原文地址:https://www.cnblogs.com/Vae1990Silence/p/4283654.html
Copyright © 2020-2023  润新知