CNode copy(CNode head){
CNode newHead = new CNode(-1);
CNode newLast = newHead;
HashMap<CNode,CNode> map = new HashMap<>();
CNode p = head;
while(p != null){
CNode q = new CNode(p.value);
newLast.next = q;
newLast = newLast.next;
map.put(p,q);
p = p.next;
}
p = head;
CNode q = newHead.next;
while (p!=null){
q.random = map.get(p.random);
p=p.next;
q=q.next;
}
return newHead.next;
}
数据结构之复杂链表复制
最新推荐文章于 2022-10-14 18:36:16 发布