题目链接:
https://leetcode.cn/problems/fu-za-lian-biao-de-fu-zhi-lcof/description/?favorite=xb9nqhhg&orderBy=hot
代码:
class Solution {
public:
map<Node*,Node*>mp;
Node* copyRandomList(Node* head) {
if(head==NULL)
{
return NULL;
}
Node *cnt=head;
while(cnt!=NULL)
{
mp[cnt]=new Node(cnt->val);
cnt=cnt->next;
}
cnt=head;
while(cnt!=NULL)
{
mp[cnt]->next=mp[cnt->next];
mp[cnt]->random=mp[cnt->random];
cnt=cnt->next;
}
return mp[head];
}
};
该问题要求使用C++实现一个函数,复制一个具有随机指针的链表。每个节点不仅有下一个节点的引用,还有一个随机节点的引用。解决方案涉及创建一个新的映射mp,将原链表节点映射到复制链表节点,然后依次复制next和random指针。
936

被折叠的 条评论
为什么被折叠?



