[leetcode] 【链表】24. Swap Nodes in Pairs

原创 2016年06月01日 22:01:05

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.

题意

链表中每两个节点中,前后两个节点位置交换。比如1->2->3->4变成 2->1->4->3

题解

略··看代码吧

/**
 * 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 newhead(-1);
        newhead.next=head;
        ListNode *prev=&newhead,*cur=head,*next=head->next;
        while(cur&&next)
        {
            cur->next=next->next;
            next->next=cur;
            prev->next=next;
            prev=cur;
            cur=cur->next;
            if(cur==NULL)
                break;
            next=cur->next;
        }
        return newhead.next;
    }
};



版权声明:本文为博主原创文章,未经博主允许不得转载。

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

leetcode之单链表题目汇总

leetcode(2)单链表之Add Two Numbers   题目】 You are given two linked lists representing ...
  • Lily_whl
  • Lily_whl
  • 2017年05月11日 18:17
  • 314

leetcode总结无止境系列之链表

链表是面试中十分容易考到的题目,一般代码比较短,而且考查面试者的思维全面性和写无bug代码的能力。在写链表的题目时,建议画出示意图,并把头结点、尾节点这些特殊的结点考虑在内。 主要的技巧就是要用...
  • chencheng126
  • chencheng126
  • 2014年09月03日 17:01
  • 2701

leetcode链表问题总结

最近一周下班时间在做leetcode上xi
  • QQ575787460
  • QQ575787460
  • 2014年10月28日 19:59
  • 2508

Leetcode 链表部分简单题汇总

1. 回文链表的判断 给定一个链表,判断是否为回文链表,我的思路是利用快慢指针先找到链表的中间节点,然后将中间节点之后的部分反转,再将反转的部分和前半部分比较 /** * Definition ...
  • u012148952
  • u012148952
  • 2016年10月06日 13:58
  • 286

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

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

高效面试之leetcode链表题汇总

题目索引: 1.偶数位逆序插入reoder list Given {1,2,3,4}, reorder it to {1,4,2,3}. 2.交换相邻的二个节点  swap node...
  • cqkxboy168
  • cqkxboy168
  • 2014年10月26日 01:21
  • 1837

【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
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[leetcode] 【链表】24. Swap Nodes in Pairs
举报原因:
原因补充:

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