LeetCode OJ:Copy List with Random Pointer(复制存在随机链接的链表)
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.
这题用map做其实比较简单,但是一开始没想明白越想越乱,最后看了下别人的实现,思路还是很清晰的,代码如下所示:
/**
* Definition for singly-linked list with a random pointer.
* struct RandomListNode {
* int label;
* RandomListNode *next, *random;
* RandomListNode(int x) : label(x), next(NULL), random(NULL) {}
* };
*/ class Solution {
public:
RandomListNode *copyRandomList(RandomListNode *head) {
unordered_map<RandomListNode *, RandomListNode *> m;
RandomListNode helper1(), * p1 = &helper1, helper2(), *p2 = &helper2;
p1->next = head;
while(p1->next){
p1 = p1->next;
RandomListNode * tmpNode = new RandomListNode(p1->label);
m[p1] = tmpNode;
p2 = p2->next = tmpNode;
}
p1 = &helper1;
while(p1->next){
p1 = p1->next;
if(p1->random){
m[p1]->random = m[p1->random];
}
}
return helper2.next;
}
};
LeetCode OJ:Copy List with Random Pointer(复制存在随机链接的链表)的更多相关文章
- [leetcode]138. Copy List with Random Pointer复制带有随机指针的链表
		
public RandomListNode copyRandomList(RandomListNode head) { /* 深复制,就是不能只是复制原链表变量,而是做一个和原来链表一模一样的新链表, ...
 - [LeetCode] 138. Copy List with Random Pointer 拷贝带有随机指针的链表
		
A linked list is given such that each node contains an additional random pointer which could point t ...
 - [LeetCode] 138. Copy List with Random Pointer 拷贝带随机指针的链表
		
A linked list is given such that each node contains an additional random pointer which could point t ...
 - [LeetCode] Copy List with Random Pointer 拷贝带有随机指针的链表
		
A linked list is given such that each node contains an additional random pointer which could point t ...
 - 力扣——Copy List with Random Pointer(复制带随机指针的链表) python实现
		
题目描述: 中文: 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点. 要求返回这个链表的深拷贝. 示例: 输入:{"$id":" ...
 - [LeetCode OJ] Copy List with Random Pointer 扩大
		
职务地址:https://oj.leetcode.com/problems/copy-list-with-random-pointer/ 题意:对一个有回路的链表的深复制 解题:这道题我AC了之后才发 ...
 - [Leetcode Week17]Copy List with Random Pointer
		
Copy List with Random Pointer 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/copy-list-with-random- ...
 - leetcode 138. Copy List with Random Pointer复杂链表的复制
		
python代码如下: # Definition for singly-linked list with a random pointer. # class RandomListNode(object ...
 - Java for LeetCode 138 Copy List with Random Pointer
		
A linked list is given such that each node contains an additional random pointer which could point t ...
 
随机推荐
- Python数据可视化:网易云音乐歌单
			
通过Python对网易云音乐华语歌单数据的获取,对华语歌单数据进行可视化分析. 可视化库不采用pyecharts,来点新东西. 使用matplotlib可视化库,利用这个底层库来进行可视化展示. 推荐 ...
 - mapper的namespace
			
一般情况下mapper的namespace能随便写,不重复即可, 但如果希望使用mybatis动态代理的接口,就需要namespace中的值和需要对应的Mapper(dao)接口的全路径一致.例如:c ...
 - 20145327 《Java程序设计》第一周学习总结
			
20145327 <Java程序设计>第一周学习总结 教材学习内容总结 Java根据领域不同,区分为Java SE.Java EE与Java ME三大平台.Java SE是各应用平台的基础 ...
 - Jquery12 Ajax
			
学习要点: 1.Ajax 概述 2.load()方法 3.$.get()和$.post() 4.$.getScript()和$.getJSON() 5.$.ajax()方法 6.表单序列化 Ajax ...
 - Sqoop相关
			
# sqoop安装 1. 常规步骤(安装在一台节点上即可) 由于sqoop2配置相对比较麻烦,此次使用的是sqoop1进行演示. 上传sqoop-1.4.4.bin_hadoop-2.0.4-alph ...
 - nginx配置Strict Transport Security
			
一个网站接受一个HTTP的请求,然后跳转到HTTPS,用户可能在开始跳转前,通过没有加密的方式和服务器对话,比如,用户输入http://zt.test.com或者直接zt.test.com.这样存在中 ...
 - 关于Java -cp引用jar是否支持通配符
			
其实是支持的: JDK6支持java -cp后面跟通配符'*',试了一下发现还是需要注意: 错误方式(Wrong way): java -cp /data/apps/lib/*.jar com.ch ...
 - C#中【正则表达式regular expression】相关的知识
			
Regex System.Text.RegularExpressions.Regex regex应该是regular expression的缩写 https://msdn.microsoft ...
 - 【尺度不变性】An Analysis of Scale Invariance in Object Detection – SNIP  论文解读
			
前言 本来想按照惯例来一个overview的,结果看到1篇十分不错而且详细的介绍,因此copy过来,自己在前面大体总结一下论文,细节不做赘述,引用文章讲得很详细,另外这篇paper引用十分详细,如果做 ...
 - Anaconda 环境中使用pip安装时候出现的一些问题
			
author:pprp date:18/8/12 --- 1. AttributeError: Module Pip has no attribute 'main' solution:降低pip的版本 ...