首页 > 代码库 > leetcode--011 copy list with random pointer
leetcode--011 copy list with random pointer
1 package leetcode; 2 3 class RandomListNode { 4 int label; 5 RandomListNode next, random; 6 7 public RandomListNode(int x) { 8 this.label = x; 9 }10 }11 12 public class CopyListRandom {13 public RandomListNode copyRandomList(RandomListNode head) {14 if(head==null)return head;15 RandomListNode po= head.next;16 RandomListNode p=head;17 while(p!=null){18 RandomListNode newnode=new RandomListNode(p.label);19 po=p.next;20 newnode.next=p.next;21 p.next=newnode;22 23 p=po; 24 }25 p=head;26 while(p!=null){27 if(p.random!=null){28 p.next.random=p.random.next;29 }30 p=p.next.next;31 }32 p=head;33 RandomListNode h=head.next;34 RandomListNode q=h;35 while(q!=null){36 p.next=q.next;37 p=q;38 q=q.next; 39 }40 return h;41 }42 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。