[leetcode] Copy List with Random Pointer, Java

来源:互联网 发布:中文波斯语翻译软件 编辑:程序博客网 时间:2024/06/02 06:34
public RandomListNode copyRandomList(RandomListNode head) {    if(head == null)        return null;        RandomListNode p = head;while(p != null){RandomListNode tmp = new RandomListNode(p.label);tmp.next = p.next;p.next = tmp;p = p.next.next;}p = head;while(p != null){p.next.random = (p.random == null ? null : p.random.next);p = p.next.next;}RandomListNode copy = head.next;p = head;while(p != null){RandomListNode tmp = p.next;p.next = p.next.next;tmp.next = (tmp.next == null ? null : tmp.next.next);p = p.next;}return copy;    }

0 0