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

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

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  * Definition for singly-linked list. 3  * struct ListNode { 4  *     int val; 5  *     ListNode *next; 6  *     ListNode(int x) : val(x), next(NULL) {} 7  * }; 8  */ 9 class Solution {10 public:11     ListNode *swapPairs(ListNode *head) {12         if (head == NULL) return head;13         ListNode h(0), *first = head, *second, *prev = &h, *nextFirst;14         h.next = head;15         16         while (first) {17             second = first->next;18             if (!second) break;19             prev->next = second;20             nextFirst = second->next;21             second->next = first;22             first->next = nextFirst;23             prev = first;24             first = nextFirst;25         }26         27         return h.next;28     }29 };

 

转载于:https://www.cnblogs.com/linyx/p/4036498.html

你可能感兴趣的文章
c语言编程的限制,关于NOI系列赛编程语言使用限制的规定
查看>>
32个c语言关键字发音,C语言的32个关键字(读音、用法、注释)转来的,给刚接触C的...
查看>>
为煮酒新书《构建高可用Linux服务器》作序!
查看>>
Windows Azure中文博客 Windows Azure入门教学系列 (一): 创建第一个WebRole程序
查看>>
Linux学习之CentOS(四)----Linux各目录的介绍
查看>>
MySQL 跳过同步错误方法
查看>>
MySQL 清理slowlog方法
查看>>
HTTP深入浅出 http请求
查看>>
为YUM设置代理的方法
查看>>
Java 编程的动态性 第1 部分: 类和类装入--转载
查看>>
再谈ABC
查看>>
【转】持久化消息队列之MEMCACHEQ
查看>>
java-Mail
查看>>
Dom4j学习笔记
查看>>
C语言 HTTP上传文件-利用libcurl库上传文件
查看>>
[MEAN Stack] First API -- 7. Using Route Files to Structure Server Side API
查看>>
调试逆向分为动态分析技术和静态分析技术(转)
查看>>
Android webview使用详解
查看>>
业务对象和BAPI
查看>>
程序源系统与当前系统不一致:Carry out repairs in non-original systems only if urgent
查看>>