package leetcode; import java.util.HashMap; public class offer_35 { public Node copyRandomList(Node head) { //防止出现空链表 if(head==null) { return null; } //哈希表法 HashMap<Node, Node> map=new HashMap<Node, Node>(); Node node=head; while(node!=null) { //map中存入每个节点及其复制的节点 map.put(node, new Node(node.val)); node=node.next; } node=head; Node newHead=map.get(head); while(node!=null) { //将node.next对应的value与拷贝到当前复制节点的next map.get(node).next=map.get(node.next); //将node.random对应的value与拷贝到当前复制节点的random map.get(node).random=map.get(node.random); node=node.next; } return newHead; } }
原文地址:https://www.cnblogs.com/Yshun/p/15961524.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。