本文共 670 字,大约阅读时间需要 2 分钟。
哈希:
/*struct RandomListNode { int label; struct RandomListNode *next, *random; RandomListNode(int x) : label(x), next(NULL), random(NULL) { }};*/class Solution {public: mapm;vector v;RandomListNode* solve(RandomListNode* p){ if(p == NULL) return NULL; if(m[p] == 0){ int L = v.size(); RandomListNode t(p->label); v.push_back(t); m[p] = L+1; // m : L+1 v[L].next = solve(p->next); v[L].random = solve(p->random); return &v[L]; }else{ return &v[m[p]-1]; }}RandomListNode* Clone(RandomListNode* pHead){ RandomListNode* ans = solve(pHead); return ans;}};
转载地址:http://xfwji.baihongyu.com/