leetcode 24. Swap Nodes in Pairs

原创 2016年06月01日 10:00:40

题目:

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) 
    {
        ListNode *p,*q,*tail;
        p=q=head;
        
        if(head==NULL || head->next==NULL)
        return head;
        
        q=head->next;
        head=q;
        p->next=q->next;
        q->next=p;
        
        tail=p;
        while(tail->next != NULL)
        {
            p=p->next;
            q=p->next;
            
            if(p && q)
            {
                tail->next=q;
                p->next=q->next;
                q->next=p;
            }
            
            tail=p;
        }
 
        return head;
    }
};


LeetCode | Swap Nodes in Pairs(将链表中的元素两两交换)

Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2-...
  • a45872055555
  • a45872055555
  • 2014年07月08日 21:45
  • 534

leetCode 24. Swap Nodes in Pairs (双数交换节点) 解题思路和方法

Swap Nodes in Pairs  Given a linked list, swap every two adjacent nodes and return its head. F...
  • xygy8860
  • xygy8860
  • 2015年07月07日 13:09
  • 654

每日算法之二十二:Swap Nodes in Pairs

Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->...
  • yapian8
  • yapian8
  • 2014年05月30日 20:11
  • 776

算法设计与分析(17)-- Swap Nodes in Pairs(难度:Medium)

Swap Nodes in Pairs
  • alexlau8
  • alexlau8
  • 2017年06月22日 11:49
  • 138

【Leetcode】Swap Nodes in Pairs in JAVA 难得的一次写对不带改的。。附赠测试程序like always

Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2-...
  • qbt4juik
  • qbt4juik
  • 2014年11月23日 23:22
  • 584

R语言中用pairs作图时标出各个分图中的所要显示的点

对R语言源码中的graphics包中的pairs.R文件修改如下: pairs.default function (x, labels, panel = points, ...,     ...
  • paomojing
  • paomojing
  • 2014年09月30日 13:34
  • 3762

[LeetCode]Permutation全排列和去重全排列

一、问题描述: 借助这道题总结一下全排列问题吧 https://leetcode.com/problems/permutations/ Given a collection of disti...
  • CristianoJason
  • CristianoJason
  • 2016年04月20日 14:02
  • 1936

【Linux】Linux中Swap与Memory内存简单介绍

Linux的很多设计与考虑也是非常独特,对性能也产生了巨大的提升。这篇文章介绍一下Linux中swap与memory。...
  • s120922718
  • s120922718
  • 2013年09月26日 17:02
  • 30376

STL vector中的swap方法(33)

原文地址: public member function std::vector::swap void swap (vector& x); Swap content...
  • guang_jing
  • guang_jing
  • 2014年08月19日 19:55
  • 1018

基因数据处理53之cs-bwamem集群版运行paird-end(1千万条100bp的reads)

art: art_illumina -ss HS20 -i GRCH38BWAindex/GRCH38chr1L3556522.fna -p -l 100 -m 200 -s 10 -c 10...
  • bob601450868
  • bob601450868
  • 2017年12月18日 01:13
  • 63
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode 24. Swap Nodes in Pairs
举报原因:
原因补充:

(最多只允许输入30个字)