Leetcode 138,Copy list with random nodes
2016-12-29 14:01
405 查看
public RandomListNode copyRandomList(RandomListNode head) {
if(head==null)
return null;
HashMap<RandomListNode,RandomListNode> map = new HashMap<RandomListNode,RandomListNode>();
RandomListNode newhead = new RandomListNode(head.label);//build a newhead
map.put(head,newhead);//head -> newhead
RandomListNode oldp = head;//oldp
RandomListNode newp = newhead;//newp
while(oldp.next != null){
RandomListNode newnode = new RandomListNode(oldp.next.label);
newp.next = newnode;
map.put(oldp.next, newnode);
oldp = oldp.next;
newp = newp.next;
}
oldp = head;
newp = newhead;
while(oldp!=null){
newp.random = map.get(oldp.random);
oldp = oldp.next;
newp = newp.next;
}
return newhead;
}
refer: http://www.cnblogs.com/springfor/p/3864457.html
if(head==null)
return null;
HashMap<RandomListNode,RandomListNode> map = new HashMap<RandomListNode,RandomListNode>();
RandomListNode newhead = new RandomListNode(head.label);//build a newhead
map.put(head,newhead);//head -> newhead
RandomListNode oldp = head;//oldp
RandomListNode newp = newhead;//newp
while(oldp.next != null){
RandomListNode newnode = new RandomListNode(oldp.next.label);
newp.next = newnode;
map.put(oldp.next, newnode);
oldp = oldp.next;
newp = newp.next;
}
oldp = head;
newp = newhead;
while(oldp!=null){
newp.random = map.get(oldp.random);
oldp = oldp.next;
newp = newp.next;
}
return newhead;
}
refer: http://www.cnblogs.com/springfor/p/3864457.html
相关文章推荐
- node.jsの初识
- webpack-externals过滤文件
- svn冲突 -- Skipped 'pc-youpin' -- Node remains in conflict 问题解决
- Node.js复制文件的方法示例
- node.js之web框架Express入门(源码)
- 在服务器中部署node项目---pm2
- NodeJS-模块
- Node.js模块系统
- xp系统中使用node的ffi模块调用系统dll
- svg 验证码升级到了 1.2.1
- java链表ListNode
- Node.js使用PM2的集群将变得更加容易
- nodejs pm2部署配置
- bootstrap-treeview addNode deleteNode editNode 全都奉上
- nodejs安装和环境部署
- node 裁剪图片
- webstorm 快捷键
- Node.js API 初解读(二)
- 382. Linked List Random Node
- 222. Count Complete Tree Nodes