博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【LeetCode】Swap Nodes in Pairs
阅读量:4964 次
发布时间:2019-06-12

本文共 1657 字,大约阅读时间需要 5 分钟。

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.

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) {        // Note: The Solution object is instantiated only once and is reused by each test case.        if(head == NULL)            return NULL;        if(head->next == NULL)            return head;                ListNode *p = head;        ListNode *q = head->next;        ListNode *pre = NULL;        while( q != NULL && q->next != NULL)      // p,q 指向相邻结点一前一后        {                                        // 注意奇数个结点的情况,判空为第一种            ListNode *tmp = q->next;            q->next = p;            p->next = tmp;            if( pre == NULL)            {                head = q;                pre = p;            }            else            {                pre->next = q;                pre = p;            }            p = p->next;            q = p->next;        }        if(pre == NULL)     //只有两个结点        {            head = q;            q->next = p;            p->next = NULL;            return head;        }        if(q == NULL)       //奇数个结点        {            return head;        }        q->next = p;        //偶数个结点        p->next = NULL;        pre->next = q;        return head;            }};

 

 

转载于:https://www.cnblogs.com/pangblog/p/3358117.html

你可能感兴趣的文章
[C陷阱和缺陷] 第7章 可移植性缺陷
查看>>
linux中configure文件默认执行结果所在位置
查看>>
Windows向Linux上传文件夹
查看>>
20180104-高级特性-Slice
查看>>
6个SQL Server 2005性能优化工具介绍
查看>>
nginx启动、关闭命令、重启nginx报错open() "/var/run/nginx/nginx.pid" failed
查看>>
BZOJ 3097 Hash Killer I
查看>>
UINavigationController的视图层理关系
查看>>
html阴影效果怎么做,css 内阴影怎么做
查看>>
宏观经济
查看>>
综合练习:词频统计
查看>>
BZOJ1026: [SCOI2009]windy数
查看>>
样板操作数
查看>>
64位UBUNTU下安装adobe reader后无法启动
查看>>
iTextSharp带中文转换出来的PDF文档显示乱码
查看>>
组件:slot插槽
查看>>
走进C++程序世界------异常处理
查看>>
Nginx配置文件nginx.conf中文详解(转)
查看>>
POJ 1308 Is It A Tree?(并查集)
查看>>
N进制到M进制的转换问题
查看>>