博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Copy List with Random Pointer (Hash表)
阅读量:5991 次
发布时间:2019-06-20

本文共 1210 字,大约阅读时间需要 4 分钟。

A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.

Return a deep copy of the list.

 

class Solution {public:    RandomListNode *copyRandomList(RandomListNode *head) {        if(head==NULL) return head;        map
hash; map
copyHash; RandomListNode* copyHead=new RandomListNode(head->label); RandomListNode* p=head; RandomListNode* q=copyHead; int index=0; hash[p]=index; copyHash[index]=q; ++index; p=p->next; //复制整个链表 while(p!=NULL){ RandomListNode* newNode=new RandomListNode(p->label); q->next=newNode; q=q->next; hash[p]=index; copyHash[index]=q; ++index; p=p->next; } //最后的NULL节点也要加进去 hash[NULL]=index; copyHash[index]=NULL; //复制random指针 int i=0; RandomListNode* r=head; while (i
random=copyHash[hash[r->random]]; ++i; r=r->next; } return copyHead; }};

 

转载于:https://www.cnblogs.com/fightformylife/p/4246087.html

你可能感兴趣的文章
(转)ReentrantLock可重入锁的使用场景
查看>>
用git difff 生成补丁
查看>>
每天一个linux命令(24):gzip命令
查看>>
java 突击队注意事项:在路上
查看>>
反向路径过滤——reverse path filter
查看>>
ijg库的使用的几点注意
查看>>
SharePoint 2013中的爬网最佳做法
查看>>
swift 进阶笔记 (一) —— 可选型
查看>>
防止SQL注入
查看>>
TEMP
查看>>
hdu 4685 Prince and Princess(匈牙利算法 连通分量)
查看>>
LeeCode - Unique Binary Search Trees
查看>>
[每日电路图] 1、基于AT89C52单片机最小系统接口电路【转】
查看>>
架构知识体系
查看>>
cas单点登录用户名为中文的解决办法
查看>>
lintcode: 中序遍历和后序遍历树构造二叉树
查看>>
poj 3122
查看>>
HDU 2476 String painter 区间dp
查看>>
让memcached分布式
查看>>
数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)
查看>>