当前位置: 首页 > news >正文

【数据结构】【链表代码】随机链表的复制

/*** Definition for a Node.* struct Node {*     int val;*     struct Node *next;*     struct Node *random;* };*/typedef struct Node Node;
struct Node* copyRandomList(struct Node* head) {if(head==NULL)return NULL;//1.拷贝结点,连接到原结点的后面Node*cur=head;while(cur){Node*copy=(Node*)malloc(sizeof(Node));copy->next=NULL;copy->random=NULL;copy->val=cur->val;// //相当于插入// copy->next=cur->next;// cur->next=copy;Node*next=cur->next;cur->next=copy;copy->next=next;cur=next;}//2.处理拷贝结点的randomcur=head;while(cur){Node*copy=cur->next;if(cur->random)copy->random=cur->random->next;elsecopy->random=NULL;cur=cur->next->next;}//3.拆cur=head;Node*copyHead=head->next;//因为函数最后返回的是头指针while(cur){Node*copy=cur->next;Node*next=cur->next->next;cur->next=next;if(next)copy->next=next->next;elsecopy->next=NULL;cur=next;}return copyHead;
}


http://www.mrgr.cn/news/44110.html

相关文章:

  • C# 雷赛运动控制器 SMC304 新建工程
  • S7-200 SMART Modbus RTU常见问题
  • detectron2/data/catalog.py源码笔记
  • MATLAB图像去雾系统
  • Codeforces Rund 977 div2 个人题解(A~E1)
  • Redis基础
  • 深入理解Flask应用中不同模式下的数据库连接池
  • 构建 10 万卡 GPU 集群的技术挑战
  • MES系统在数字化转型中的重要性
  • Java使用线程池创建线程
  • 微调大语言模型——超详细步骤
  • 数据库简单介绍
  • 守护“金饭碗”:耕地保护,为经济社会发展筑牢根基
  • 智能工厂的软件设计 程序、对象和数据:【三ji(既/暨/即)】公共逻辑语言 之2 三个“原文”(祖传代码模板文件,软件编程架构文档和程序编码框架文本)
  • 如何降低实施APS的复杂性
  • 第5篇:Windows命令行文件下载方式汇总----应急响应之权限维持篇
  • R语言绘制面积图
  • python中时间函数及其应用
  • 【隐私计算篇】不经意传输OT及扩展协议OT Extension的进一步探索(涉及OT变体、恶意敌手模型、silent OT、OT扩展的通信对比等)
  • 2024/10/6 数据结构大题打卡