首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
拷贝有随机指针的链表
[编程题]拷贝有随机指针的链表
热度指数:37249
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32M,其他语言64M
算法知识视频讲解
现在有一个这样的链表:链表的每一个节点都附加了一个随机指针,随机指针可能指向链表中的任意一个节点或者指向空。
请对这个链表进行深拷贝。
说明:本题目包含复杂数据结构ListNode、RandomListNode,
点此查看相关信息
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(81)
邀请回答
收藏(145)
分享
提交结果有问题?
151个回答
3篇题解
开通博客
华科不平凡
发表于 2020-09-23 16:16:19
细胞分裂法: 增殖:遍历next指针,拷贝旧节点,并将新节点插入到旧节点之后 复制:遍历next指针,如果某个节点的random不为空(旧节点),则下一个节点(新节点)的random指向该节点random指向节点的下一个节点 分裂:遍历next指针,将两个链表分裂开来 代码如下: // //
展开全文
宫水三叶的刷题日记
发表于 2021-09-06 11:01:13
模拟 + 哈希表 如果不考虑 random 指针的话,对一条链表进行拷贝,我们只需要使用两个指针:一个用于遍历原链表,一个用于构造新链表(始终指向新链表的尾部)即可。这一步操作可看做是「创建节点 + 构建 next 指针关系」。 现在在此基础上增加一个 random 指针,我们可以将 next 指针
展开全文
勇敢牛牛,不怕困难!
发表于 2021-09-26 08:33:17
/** * Definition for singly-linked list with a random pointer. * struct RandomListNode { * int label; * RandomListNode *next, *random; *
展开全文
问题信息
链表
难度:
151条回答
145收藏
27272浏览
热门推荐
通过挑战的用户
满洲里有象&
2023-01-09 21:35:38
wxtshr001
2022-07-25 16:15:51
Kiros123
2022-03-16 10:07:37
追风筝的少年1997
2022-03-09 16:38:45
王yangyang
2022-02-11 17:09:49
相关试题
吐泡泡
栈
评论
(1)
2.从1997~2003年间,货币...
资料分析
言语理解与表达
资料分析
评论
(1)
素数判断
过关题目
语言题
评论
(2)
由关系 R 和 S 得到关系 T ...
爱奇艺
数据库
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
测试工程师
大数据开发工程师
2019
测试开发工程师
SQL
评论
(1)
Nginx配置中,怎么用正则表达式...
Linux
评论
(1)
拷贝有随机指针的链表
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; /** * Definition for singly-linked list with a random pointer. * class RandomListNode { * int label; * RandomListNode next, random; * RandomListNode(int x) { this.label = x; } * }; */ public class Solution { public RandomListNode copyRandomList(RandomListNode head) { } }
/** * 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) { } };