leetcode | Swap Nodes in Pairs in a linklist
2015-07-18 09:55
597 查看
Swap Nodes in Pairs : https://leetcode.com/problems/swap-nodes-in-pairs/
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.
注:首先画图理清思路,再开始写代码。
p->t->q : 交换 t 和 q,但要知道 p
关键点:必须注意,交换之后,p->q->t,所以新的 p 应该指向 t
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.
注:首先画图理清思路,再开始写代码。
p->t->q : 交换 t 和 q,但要知道 p
关键点:必须注意,交换之后,p->q->t,所以新的 p 应该指向 t
/** * 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* dummy = new ListNode(-1); dummy->next = head; ListNode* p = dummy; while (p && p->next && p->next->next) { ListNode* t = p->next; ListNode* q = p->next->next; p->next = q; t->next = q->next; q->next = t; p = t; // 注意此时,t已经被交换到q的后面 } return dummy->next; } };
相关文章推荐
- ubuntu server 14.10 安装 nodejs
- Delete Node in a Linked List
- Node实践之二
- Windows环境下的nodejs环境开发搭建
- 在hadoop2实际生产环境中,为什么还需要SecondeNamenode
- Delete Node in a Linked List
- datanode无法启动 或 DFS Used% :100 % 或 Live Nodes
- Populating Next Right Pointers in Each Node
- 【node.js】安装express后,'express' 不是内部或外部命令的问题
- nodejs 调度 node-schedule 使用
- Nodejs正则表达式函数之match、test、exec、search、split、replace使用详解
- Windows环境下的NodeJS+NPM+GIT+Bower安装配置步骤
- win7下,安装node-inspector调试Node.js
- LeetCode Delete Node in a Linked List (删除链表中的元素)
- HDFS DataNode问题-_COPYING_ could only be replicated to 0 nodes instead of minReplication (=1). There
- 简单谈谈PHP vs Node.js
- 《Node入门》 很好的入门读物
- nodejs 应用部署
- nodejs中exports与module.exports的区别
- PHP vs Node.js 深入讨论