找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

微信名称:美国米群网

微 信 号:MeetQun

微信QQ:群: 320065698

查看: 144|回复: 2
收起左侧

[刷题记录板] 138. Copy List with Random Pointer

[复制链接]

23

主题

0

精华

28

积分

新米人

Rank: 1

积分
28
发表于 11-29-2016 05:33 AM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
  1.     public RandomListNode copyRandomList(RandomListNode head) {
  2.         HashMap<RandomListNode,RandomListNode> map = new HashMap<>();
  3.         RandomListNode cur = head;
  4.         
  5.         RandomListNode fakehead = new RandomListNode(0);
  6.         RandomListNode pre = fakehead;
  7.         
  8.         while (cur!=null){
  9.             RandomListNode clonenode;
  10.             if (map.containsKey(cur)){
  11.                 clonenode=map.get(cur);   
  12.             }
  13.             else{
  14.                 clonenode=new RandomListNode(cur.label);
  15.                 map.put(cur,clonenode);
  16.             }
  17.             if (cur.random!=null){
  18.                 if (map.containsKey(cur.random)){
  19.                     clonenode.random= map.get(cur.random);
  20.                 }
  21.                 else{
  22.                     RandomListNode clonenext = new RandomListNode(cur.random.label);
  23.                     clonenode.random=clonenext;
  24.                     map.put(cur.random,clonenext);
  25.                
  26.                 }               
  27.             }
  28.             pre.next=clonenode;
  29.             pre=pre.next;

  30.             cur=cur.next;
  31.         }
  32.         return fakehead.next;
  33.             
  34.     }
复制代码

0

主题

0

精华

1

积分

新米人

Rank: 1

积分
1
发表于 11-29-2016 05:33 AM 来自美国米群网手机版 | 显示全部楼层
感谢taoqi610分享~~~
回复 支持 反对

使用道具 举报

0

主题

0

精华

1

积分

新米人

Rank: 1

积分
1
发表于 11-30-2016 09:08 AM | 显示全部楼层
感谢taoqi610分享~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表