24. Swap Nodes in Pairs
2016-03-21 10:48
369 查看
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.
Subscribe to see which companies asked this question
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.
Subscribe to see which companies asked this question
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode swapPairs(ListNode head) { ListNode first = null; ListNode second = null; ListNode tmp = null; ListNode ret = head; first = head; if(first==null)return head; if(first.next==null)return head; ret = head.next; for(;first!=null&&first.next!=null;first=first.next){ second = first.next; if(tmp!=null)tmp.next=second; tmp = first; first.next=second.next; second.next=first; } return ret; } }
相关文章推荐
- 116. Populating Next Right Pointers in Each Node
- 利用n和nvm管理Node的版本
- NODE.JS+EXPRESS.JS+百度BAE服务 构建学术个人主页
- Buffer -nodejs
- Hadoop高可用集群(HA+JournalNode+zookeeper)
- Remove Nth Node From End of List
- nodejs
- MEAN Stack入门-1: Node.js-to-AngularJS组件介绍
- Node对象的几个属性
- nodejs 使用socket.io与网页实时数据交互
- Node.js数据流Stream之Readable流和Writable流
- hadoop:data node 距离远近的计算
- nodejs-基础大杂烩(待整理)
- nodejs-路由(待补充)
- nodejs-循环
- nodejs-函数
- nodejs-安装及卸载
- nodejs-express
- nodejs-Module
- nodejs-Sream