LeetCode:Swap Nodes in Pairs
2015-09-08 14:37
686 查看
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==NULL || head->next==NULL) return head; ListNode dummy(-1); ListNode *pre=&dummy; ListNode *cur=head; ListNode *next=cur->next; while(cur!=NULL&&next!=NULL) { pre->next=next; cur->next=next->next; next->next=cur; pre=pre->next->next; if(cur->next!=NULL) { cur=cur->next; next=cur->next; } else break; } return dummy.next; } };
相关文章推荐
- Node.js机制及原理理解初步
- Delete Node in a Linked List
- grunt学习(一)——nodejs入门
- Leetcode Delete Node in a Linked List
- node.js cannot find module
- Reverse Nodes in k-Group
- nodeName和tagName
- nodejs 初步使用以及实现文件上传的功能
- Remove Nth Node From End of List
- Hadoop源码分析之DataNode的启动与停止
- [LeedCode OJ]#19 Remove Nth Node From End of List
- hadoop配置好之后启服务,jps能看到datanode进程,可是后台的datanode日志有如下错误,且50070端口上也是没有活的节点
- LeetCode_populating-next-right-pointers-in-each-node
- 磁盘及文件系统管理(一)
- Node.js 练习一
- hadoop中启动namenode等出现的一些问题
- leetcode-25 Reverse Nodes in k-Group
- Nodejs找不到static方法
- Ogre Entity/Mesh/SceneNode/SceneManager基本概念
- Node