剑指offer 复杂链表的复制

 首先按照原始链表的顺序将新的链表创建好,同时创建旧链表到新链表之间的map索引,

这一步完成之后便开始初始化新链表中每个节点的random指针的值

这时通过map【pHead】可以找到相对应的新链表的节点 newHead

而pHead -> random 是节点 p,节点 p 所对应的索引是map【p】,即节点 Q

所以newHead -> random = Q

 

原文地址:https://www.cnblogs.com/jiguang321/p/11971694.html