牛客网-剑指Offer-复杂链表的复制
题目链接: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-复杂链表的复制相关推荐
- 牛客网剑指offer编程实践1-10题
牛客网剑指offer编程实践1-10题 1.二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这 ...
- Day5.牛客网剑指offer 67题之43-54题(java代码)
文章目录 Day5.牛客网剑指offer 67题之43-54题 43.左旋转字符串 44.翻转单词顺序列 45.扑克牌顺序 46.孩子们的游戏 47.求1+2+...+n 48.不用加减乘除做加法 4 ...
- 牛客网剑指offer java 全部题解
经过数月的努力,终于更完了牛客网的66道剑指offer,以下的顺序和大家在牛客网的顺序是一样的(排序也花了不少时间),希望对大家找工作/提高算法能力能起到些许帮助. 每天一道剑指offer-二维数组中 ...
- Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer
剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...
- 《牛客网 剑指Offer前20题》
<剑指Offer> 牛客网 前20道题 前言知识 面试题1:二维数组中的查找 面试题2:二维数组中的查找 面试题3:从头到尾打印链表 面试题4:重建二叉树 ***** 面试题5:两个栈实现 ...
- 牛客网剑指offer——Java题解
剑指offer JZ1 二维数组中的查找 题目描述 在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这 ...
- 牛客网剑指offer(Python版)
剑指offer官网: https://www.nowcoder.com/ta/coding-interviews 写在前面的话 刷剑指offer的时候只需要提交函数核心部分,但是在公司实际笔试时却需 ...
- 牛客网剑指Offer C++题解
[二维数组中的查找]:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是 ...
- 牛客网剑指offer编程实践41-50题
41.和为S的连续正数序列 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两 ...
最新文章
- Nginx反向绑定域名方法和详细操作应用实例:Google和Gravatar
- 【Groovy】Gradle 构建工具 ( 自动下载并配置构建环境 | 提供 API 扩展与开发工具集成 | 内置 Maven 和 Ivy 依赖管理 | 使用 Groovy 编写构建脚本 )
- [置顶] UDP协议---心德(1)
- tcp状态机-三次握手-四次挥手以及常见面试题
- 51 -leetcode 38 -字符串
- Oracle 存储大文本
- Markup.h 和 Markup.cpp 文件(下一篇)内容,直接复制创建就行了
- Java日志组件间关系
- Struts2基本的执行过程
- 转,python的匿名函数lambda解释及用法
- Python之random.seed()用法
- qt使用QProcess实现进程通信
- 树莓派Python读取DHT11温湿度数据
- 惊 腾讯云、阿里云服务器无需备案配置域名访问方法
- python中dispatch_在django,dispatch的用途是什么?
- 【PC攻略】炎炎夏日,让你的显卡风扇不再“偷懒!”
- ThinkPHP在线小说阅读管理系统
- 字体使用的侵权是如何判定的?
- 敏捷开发系列学习总结(8)——创业公司研发团队怎么建设
- Java解压Jar文件
热门文章
- cmd做个定时弹窗_揭秘200元山寨苹果耳机!一颗耳边的“定时炸弹”...
- mysql安装后第一次操作_MySQL数据库之mysql 安装成功以及第一次安装成功初始化密码操作...
- 凝思操作系统启动盘制作_实用!如何快速制作U盘启动盘并且重装系统
- php mysql 删除数据库,MySQL——删除数据库
- python中整数类型的表示需加引导符号_Python内置类型及常见问题
- php 点击按钮更新mysql_PHP与mysql超链接 有更新按钮 跳转更新,删除后数据表中的数据 怎么做来着?...
- 【408预推免复习】计算机网络(谢希仁第七版)第六章——应用层
- 解决JSTL各种报错异常(稳准狠~!)
- python【蓝桥杯vip练习题库】ADV-181质因数2(短除法)
- java shell排序算法_【算法】8种排序算法(Java)