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

微信如何做微商城网站建设stp营销战略

微信如何做微商城网站建设,stp营销战略,苏州网站建设设计公司,电子商务网站开发设计案例—易趣网电子商务网站文章目录 💡题目分析💡解题思路🚩步骤一:拷贝节点插入到原节点的后面🍩步骤一代码 🚩步骤二:控制拷贝节点的random进行连接🍩步骤二代码 🚩步骤三:拷贝节点解…

在这里插入图片描述

文章目录

  • 💡题目分析
  • 💡解题思路
    • 🚩步骤一:拷贝节点插入到原节点的后面
      • 🍩步骤一代码
    • 🚩步骤二:控制拷贝节点的random进行连接
      • 🍩步骤二代码
    • 🚩步骤三:拷贝节点解下来尾插 组成拷贝链表,恢复原链表
      • 🍩步骤三代码
  • 🔔接口源码

在这里插入图片描述
题目链接👉 LeetCode 138.复制带随机指针的链表👈

💡题目分析

给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。

构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

💡解题思路

🚩步骤一:拷贝节点插入到原节点的后面

🍄初始情况:
在这里插入图片描述

①先将链表拷贝一层,让头指针cur的next指向一个新创建的拷贝节点,并将拷贝节点的next指向cur没发生变化之前的next。即在每个节点的后面再插入一个与他相同的节点。
在这里插入图片描述
cur一直向后走,一直重复①步骤即可得到拷贝节点(图中米黄色线条)
在这里插入图片描述

🍩步骤一代码

	//1、拷贝节点插入在原节点的后面struct Node* cur = head;while(cur){struct Node* copy = (struct Node*)malloc(sizeof(struct Node));copy->val = cur->val;struct Node* next = cur->next;//插入cur->next = copy;copy->next = next;cur = next;}

🚩步骤二:控制拷贝节点的random进行连接

②再将拷贝链表的random进行连接,由于原链表中每个节点的next都是拷贝链表中的节点,因此再将原链表中节点的random给拷贝链表的过程中,只需给random的next即可(copy->random = cur->random->next;)(图中紫色线条)
在这里插入图片描述

🍩步骤二代码

	//2、控制拷贝节点的randomcur = head;while(cur){struct Node* copy = cur->next;if(cur->random == NULL){copy->random = NULL;}else{copy->random = cur->random->next;}cur = copy->next;}

🚩步骤三:拷贝节点解下来尾插 组成拷贝链表,恢复原链表

③将拷贝出来的链表与原链表进行断开,即将拷贝节点的next指向原节点的next->next->next,即可完成断开。使拷贝链表的节点依次进行尾插,然后恢复原链表,返回拷贝节点的头即可(图中橙色线条)
在这里插入图片描述

🍩步骤三代码

	//3、拷贝节点解下来尾插组成拷贝链表,恢复原链表struct Node* copyHead = NULL;struct Node* copyTail = NULL;cur = head;while(cur){struct Node* copy = cur->next;struct Node* next = copy->next;//尾插if(copyTail == NULL){copyHead = copyTail = copy;}else{copyTail->next = copy;copyTail = copyTail->next;}//恢复原链表cur->next = next;cur = next;}

🔔接口源码

struct Node* copyRandomList(struct Node* head) 
{//1、拷贝节点插入在原节点的后面struct Node* cur = head;while(cur){struct Node* copy = (struct Node*)malloc(sizeof(struct Node));copy->val = cur->val;struct Node* next = cur->next;//插入cur->next = copy;copy->next = next;cur = next;}//2、控制拷贝节点的randomcur = head;while(cur){struct Node* copy = cur->next;if(cur->random == NULL){copy->random = NULL;}else{copy->random = cur->random->next;}cur = copy->next;}//3、拷贝节点解下来尾插组成拷贝链表,恢复原链表struct Node* copyHead = NULL;struct Node* copyTail = NULL;cur = head;while(cur){struct Node* copy = cur->next;struct Node* next = copy->next;//尾插if(copyTail == NULL){copyHead = copyTail = copy;}else{copyTail->next = copy;copyTail = copyTail->next;}//恢复原链表cur->next = next;cur = next;}return copyHead;
}

在这里插入图片描述

🥰本道题目有一定的难度,希望烙铁们能够消化理解欧!

总结🥰
以上就是本题讲解的全部内容啦🥳🥳🥳🥳
本文章所在【C/C++刷题系列】专栏,感兴趣的烙铁可以订阅本专栏哦🥳🥳🥳
前途很远,也很暗,但是不要怕,不怕的人面前才有路。💕💕💕
小的会继续学习,继续努力带来更好的作品😊😊😊
创作写文不易,还多请各位大佬uu们多多支持哦🥰🥰🥰

请添加图片描述

http://www.dt0577.cn/news/19752.html

相关文章:

  • 精品网站导航 做最好的导航5118营销大数据
  • 上海网站建设方案如何做好一个网站
  • 我做的网站在手机里滑动怎么这里卡泰安seo公司
  • 网站推广的8种方法30个免费货源网站
  • 阿里云网站建设——部署与发布网站目录扫描
  • 程序开发外包黄山seo推广
  • 做网站利用自己电脑网站推广怎么做才有效果
  • 网站上文章字体部分复制怎么做的哈尔滨seo优化公司
  • 武汉教育云平台网站建设临沂google推广
  • 聊城网站制作需要多少钱ui设计
  • wordpress远程附件代码上海抖音seo公司
  • 各位给推荐个成人网站国内b站不收费网站有哪些
  • 厦门北京网站建设公司百度seo收费
  • 同一虚拟空间做两个网站重庆百度seo整站优化
  • 咨询手机网站建设平台怎么开网店
  • 网站弹窗页面是谁做的百度的链接
  • 广州做网站建设哪家专业在线建站平台免费建网站
  • 响应式布局网站长尾关键词搜索网站
  • 做外贸怎么在阿里云建网站西安网站seo工作室
  • 网站建设及优化的策划书软文自助发稿平台oem
  • 怀远县建设局网站怎么做市场推广
  • 贵阳商城网站建设seo课
  • 网站没被收录怎么办企业网站快速建站
  • 有ecs怎么做网站关键词林俊杰无损下载
  • 网页制作的网站seo渠道是什么意思
  • 安顺北京网站建设seo搜索是什么
  • 建网站哪个公司好sem是什么?
  • 洋县住房和城乡建设管理局网站北京关键词优化报价
  • 视频网站后台功能现在做网络推广都有什么方式
  • 网站为什么做微云的采集如何让百度收录自己的网站