Redian新闻
>
请教狗狗题:复制带随机指针的链表
avatar
请教狗狗题:复制带随机指针的链表# JobHunting - 待字闺中
h*7
1
中文OJ上有的:
给定一个单链表,链表除了包含next指针外,还包含一个random指针,该指针指向链表
中某个结点。
请复制链表到一个新的链表,random指针需要指向新链表中对应的结点。比如原链表某
个结点random指针指向第2个结点,那么新结点的random指针也要指向到新链表的第2个
结点。
要求是不用extra space,就是除了被复制的链表外,不允许用哈希之类的映射表了吧
,没想出怎么搞,请大牛指点,thanks !!
avatar
r*e
2
搜复杂链表复制,何海涛的blog里有这题。

【在 h*****7 的大作中提到】
: 中文OJ上有的:
: 给定一个单链表,链表除了包含next指针外,还包含一个random指针,该指针指向链表
: 中某个结点。
: 请复制链表到一个新的链表,random指针需要指向新链表中对应的结点。比如原链表某
: 个结点random指针指向第2个结点,那么新结点的random指针也要指向到新链表的第2个
: 结点。
: 要求是不用extra space,就是除了被复制的链表外,不允许用哈希之类的映射表了吧
: ,没想出怎么搞,请大牛指点,thanks !!

avatar
t*3
3
原链表节点数据结构是
class node{
int value;
node next;
node random;
}
假设原链表是:
a-b-c
然后复制每个节点到自己的后面(不许额外存储空间,O(n)时间):
a-a'-b-b'-c-c'
然后对于每个新复制的带'号节点复制random指针。以a'为例:
a'.random = a.random.next;

【在 h*****7 的大作中提到】
: 中文OJ上有的:
: 给定一个单链表,链表除了包含next指针外,还包含一个random指针,该指针指向链表
: 中某个结点。
: 请复制链表到一个新的链表,random指针需要指向新链表中对应的结点。比如原链表某
: 个结点random指针指向第2个结点,那么新结点的random指针也要指向到新链表的第2个
: 结点。
: 要求是不用extra space,就是除了被复制的链表外,不允许用哈希之类的映射表了吧
: ,没想出怎么搞,请大牛指点,thanks !!

avatar
s*n
4
大牛果然厉害, mark了
LZ, 弱弱的问下, 中文OJ在哪里?
avatar
u*o
5
http://112.124.16.117/

【在 s*******n 的大作中提到】
: 大牛果然厉害, mark了
: LZ, 弱弱的问下, 中文OJ在哪里?

avatar
u*o
6
这方法也太巧妙了吧。真是聪明人啊。

【在 t*********3 的大作中提到】
: 原链表节点数据结构是
: class node{
: int value;
: node next;
: node random;
: }
: 假设原链表是:
: a-b-c
: 然后复制每个节点到自己的后面(不许额外存储空间,O(n)时间):
: a-a'-b-b'-c-c'

avatar
l*i
8
这题我在版上看到几次,好像都说是软软题。。。
avatar
g*r
9
这个给力啊,是版上的人做的吗,不过怎么不弄个域名啊?

【在 u*****o 的大作中提到】
: http://112.124.16.117/
avatar
a*u
10
狗狗出过
我面rocketfuel也被问过

【在 l****i 的大作中提到】
: 这题我在版上看到几次,好像都说是软软题。。。
avatar
f*e
11
域名正在备案中, 天朝特色 :)

【在 g****r 的大作中提到】
: 这个给力啊,是版上的人做的吗,不过怎么不弄个域名啊?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。