LeetCode 24. Swap Nodes in Pairs
2016-07-14 20:17
330 查看
Given a linked list, swap every two adjacent nodes and return its head.
For example,
Given
Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.
交换两个结点,很简单,别忘记交换完的结点与前面结点的连接。
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 || !head->next) return head; ListNode* node1; ListNode* node2; ListNode* node3; node1 = head->next; node2 = node1->next; node1->next = head; head->next = node2; head = node2; ListNode* realhead = node1; ListNode* pre = node1->next; while(head && head->next){ node1 = head->next; node2 = node1->next; node1->next = head; head->next = node2; head = node2; pre->next = node1; pre = node1->next; } return realhead; } };
相关文章推荐
- Remove Nth Node From End of List
- nodejs npm常用命令
- 安装Express
- nodejs学习过程中遇到的一些难点整理
- 1、安装node.js,熟悉node.js环境
- node.js 下依赖Express 实现post 4种方式提交参数
- Magick++: NoDecodeDelegateForThisImageFormat with ICO file
- 《Node.js开发加密货币》之二十二:自序
- yarn node manager启动失败
- node.js系列(实例):原生node.js实现接收前台post请求提交数据
- NodeJS学习系列课程笔记(NodeJS 全局对象相关使用方法)
- NodeJS学习系列课程笔记(NodeJs REPL相关使用方法)
- node.js——Stream
- Node.js进程通信模块child_process
- windows下node-inspector 调试webpack
- NodeJS学习系列课程笔记(NodeJs EventEmitter相关使用方法)
- node.js 系列——Buffer
- 安装node-sass遇到的各种各样的问题及解决
- NodeJS学习系列课程笔记(NodeJs zlib库文件解压缩的相关使用方法)
- NodeJS学习系列课程笔记(NodeJs Stream 的相关使用方法)