剑指offer:复杂链表的复制
用到了哈希表映射,原指针pHead,在定义个指针newHead,把原指针pHead指向的指传给newHead,他两之间形成一种映射,把原指针指向的下一个值也传到newHead,也把原指针指向random映射到newHead->random,到这就复制完了,返回newHead!!!
#include <unordered_map>
class Solution{
public:
unordered_map<RandomListNode* , RandomListNode*> mp;
RandomListNode* Clone(RandomListNode * pHead){
if(pHead==nullptr) return nullptr;
RandomListNode* newHead = new RandomListNode(pHead->label);
mp[pHead] = newHead;
newHead->next = Clone(pHead->next);
if(pHead->random !=nullptr) newHead->random = mp[pHead->random];
return newHead;
}
};
#剑指offer##23届找工作求助阵地#
查看23道真题和解析