关注
解决了!原因是破坏了原来的链表结构。 class Solution {
public:
RandomListNode* Clone(RandomListNode* pHead)
{
if(pHead==nullptr)
return pHead;
RandomListNode* head=new RandomListNode(0);
RandomListNode* p=head;
RandomListNode* cur=pHead;
//复制
while(cur)
{
p->next=cur;
p=p->next;
cur=cur->next;
RandomListNode* newhead=new RandomListNode(p->label);
p->next=newhead;
p=p->next;
}
cur=head->next;
p=cur->next;
//链接指针
while(cur)
{
if(cur->random)
p->random=cur->random->next;
else
p->random=cur->random;
cur=p->next;
if(cur)
p=cur->next;
}
cur=head;
p=cur->next;
//拆分
RandomListNode* keep=new RandomListNode(0);
RandomListNode* tail=keep;
while(p)
{
cur->next=p->next;
cur=cur->next;
tail->next=p;
tail=p;
p=cur->next;
}
tail->next=nullptr;
pHead=keep->next;
return head->next;
}
};
查看原帖
点赞 评论
相关推荐
查看12道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 哪些公司开春招了? #
9333次浏览 115人参与
# 工作压力大怎么缓解 #
137287次浏览 1228人参与
# 上班以后,你还有哪些坚持的爱好? #
6706次浏览 167人参与
# 找工作以来,你最看不惯__ #
12958次浏览 286人参与
# 你都在哪些场所面过试? #
18586次浏览 218人参与
# AI coding的好用工具分享 #
16939次浏览 357人参与
# 实习怎么做才有更好的产出 #
11222次浏览 204人参与
# 实习教会我的事 #
51443次浏览 399人参与
# 你最近因为什么迷茫? #
32602次浏览 462人参与
# 实习离职怎么跟领导说 #
75742次浏览 420人参与
# 实习生工资多少才算正常? #
11941次浏览 189人参与
# 拼多多工作体验 #
44220次浏览 283人参与
# 四大天坑是哪四家? #
99738次浏览 234人参与
# 机械制造面试记录 #
307768次浏览 3152人参与
# 你给AI提过哪些离谱的需求? #
5560次浏览 159人参与
# 领导做过最不靠谱的事 #
12035次浏览 203人参与
# 为了实习逃课值吗? #
61924次浏览 517人参与
# 工作一周年分享 #
49875次浏览 256人参与
# 选offer应该考虑哪些因素 #
139079次浏览 980人参与
# 你想跟着什么样领导? #
47517次浏览 235人参与
