题目链接:https://www.nowcoder.com/practice/f836b2c43afc4b35ad6adc41ec941dba?tpId=13&tqId=11178&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

看了半天没看懂什么意思,原来就是复制一个链表,但是地址不能和原来相同。

主要涉及指针的理解。

 1 class Solution {
 2 public:
 3     RandomListNode* Clone(RandomListNode* pHead)
 4     {
 5         if(pHead == NULL)
 6             return NULL;
 7
 8         map<RandomListNode* , RandomListNode* > mp;
 9         RandomListNode* cur = pHead;
10         RandomListNode* res = pHead;
11
12         while(cur)
13         {
14             mp[cur] = new RandomListNode(cur->label);
15             cur = cur->next;
16         }
17
18         while(pHead)
19         {
20             cur = mp[pHead];
21             cur->random = mp[pHead->random];
22
23             if(pHead->next)
24                 cur->next = mp[pHead->next];
25
26             pHead = pHead->next;
27             cur = cur->next;
28         }
29
30         return mp[res];
31     }
32 };

View Code

转载于:https://www.cnblogs.com/westwind1005/p/10267066.html

牛客网-剑指Offer-复杂链表的复制相关推荐

  1. 牛客网剑指offer编程实践1-10题

    牛客网剑指offer编程实践1-10题 1.二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这 ...

  2. Day5.牛客网剑指offer 67题之43-54题(java代码)

    文章目录 Day5.牛客网剑指offer 67题之43-54题 43.左旋转字符串 44.翻转单词顺序列 45.扑克牌顺序 46.孩子们的游戏 47.求1+2+...+n 48.不用加减乘除做加法 4 ...

  3. 牛客网剑指offer java 全部题解

    经过数月的努力,终于更完了牛客网的66道剑指offer,以下的顺序和大家在牛客网的顺序是一样的(排序也花了不少时间),希望对大家找工作/提高算法能力能起到些许帮助. 每天一道剑指offer-二维数组中 ...

  4. Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer

    剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...

  5. 《牛客网 剑指Offer前20题》

    <剑指Offer> 牛客网 前20道题 前言知识 面试题1:二维数组中的查找 面试题2:二维数组中的查找 面试题3:从头到尾打印链表 面试题4:重建二叉树 ***** 面试题5:两个栈实现 ...

  6. 牛客网剑指offer——Java题解

    剑指offer JZ1 二维数组中的查找 题目描述 在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这 ...

  7. 牛客网剑指offer(Python版)

    剑指offer官网:  https://www.nowcoder.com/ta/coding-interviews 写在前面的话 刷剑指offer的时候只需要提交函数核心部分,但是在公司实际笔试时却需 ...

  8. 牛客网剑指Offer C++题解

    [二维数组中的查找]:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是 ...

  9. 牛客网剑指offer编程实践41-50题

    41.和为S的连续正数序列 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两 ...

最新文章

  1. Nginx反向绑定域名方法和详细操作应用实例:Google和Gravatar
  2. 【Groovy】Gradle 构建工具 ( 自动下载并配置构建环境 | 提供 API 扩展与开发工具集成 | 内置 Maven 和 Ivy 依赖管理 | 使用 Groovy 编写构建脚本 )
  3. [置顶] UDP协议---心德(1)
  4. tcp状态机-三次握手-四次挥手以及常见面试题
  5. 51 -leetcode 38 -字符串
  6. Oracle 存储大文本
  7. Markup.h 和 Markup.cpp 文件(下一篇)内容,直接复制创建就行了
  8. Java日志组件间关系
  9. Struts2基本的执行过程
  10. 转,python的匿名函数lambda解释及用法
  11. Python之random.seed()用法
  12. qt使用QProcess实现进程通信
  13. 树莓派Python读取DHT11温湿度数据
  14. 惊 腾讯云、阿里云服务器无需备案配置域名访问方法
  15. python中dispatch_在django,dispatch的用途是什么?
  16. 【PC攻略】炎炎夏日,让你的显卡风扇不再“偷懒!”
  17. ThinkPHP在线小说阅读管理系统
  18. 字体使用的侵权是如何判定的?
  19. 敏捷开发系列学习总结(8)——创业公司研发团队怎么建设
  20. Java解压Jar文件

热门文章

  1. cmd做个定时弹窗_揭秘200元山寨苹果耳机!一颗耳边的“定时炸弹”...
  2. mysql安装后第一次操作_MySQL数据库之mysql 安装成功以及第一次安装成功初始化密码操作...
  3. 凝思操作系统启动盘制作_实用!如何快速制作U盘启动盘并且重装系统
  4. php mysql 删除数据库,MySQL——删除数据库
  5. python中整数类型的表示需加引导符号_Python内置类型及常见问题
  6. php 点击按钮更新mysql_PHP与mysql超链接 有更新按钮 跳转更新,删除后数据表中的数据 怎么做来着?...
  7. 【408预推免复习】计算机网络(谢希仁第七版)第六章——应用层
  8. 解决JSTL各种报错异常(稳准狠~!)
  9. python【蓝桥杯vip练习题库】ADV-181质因数2(短除法)
  10. java shell排序算法_【算法】8种排序算法(Java)