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

网站题头是什么手机与电脑网站制作

网站题头是什么,手机与电脑网站制作,企业的网站公告怎么制作,上海做公司网站多少钱剑指 Offer(第2版)面试题 35:复杂链表的复制 剑指 Offer(第2版)面试题 35:复杂链表的复制解法1:模拟 剑指 Offer(第2版)面试题 35:复杂链表的复制 题目来源&…

剑指 Offer(第2版)面试题 35:复杂链表的复制

  • 剑指 Offer(第2版)面试题 35:复杂链表的复制
    • 解法1:模拟

剑指 Offer(第2版)面试题 35:复杂链表的复制

题目来源:48. 复杂链表的复刻

解法1:模拟

算法:

  1. 复制原始链表的节点 N 并创建新节点 N’,把 N’ 链接到 N 的后面。
  2. 设置复制节点的 random 指针。
  3. 拆分链表:把奇数位置的节点链接起来就是原始链表,把偶数位置的节点链接起来就是复制链表,最后返回复制链表的头节点。

PS:少有的书上代码比其他解法要好的,推荐书上解法,拆分成三步走,清晰明了。

代码:

/*** Definition for singly-linked list with a random pointer.* struct ListNode {*     int val;*     ListNode *next, *random;*     ListNode(int x) : val(x), next(NULL), random(NULL) {}* };*/
class Solution
{
public:ListNode *copyRandomList(ListNode *head){CloneListNodes(head);SetRandomPointer(head);return SplitList(head);}// 第一步:复制原始链表的节点 N 并创建新节点 N',把 N' 链接到 N 的后面void CloneListNodes(ListNode *head){ListNode *p = head;while (p){// 复制节点ListNode *clone = new ListNode(0);clone->val = p->val;clone->next = p->next;clone->random = nullptr;p->next = clone;p = clone->next;}}// 第二步:设置复制节点的 random 指针void SetRandomPointer(ListNode *head){// 如果原始链表上的节点 N 的 random 指针指向 S,// 则它的复制节点 N' 的 random 指针指向 S'ListNode *p = head;while (p){ListNode *clone = p->next;if (p->random)clone->random = p->random->next;p = clone->next;}}// 第三步:拆分链表ListNode *SplitList(ListNode *head){ListNode *p = head;ListNode *cloneListHead = nullptr;ListNode *clone = nullptr;if (p){cloneListHead = p->next;clone = p->next;p->next = clone->next;p = p->next;}while (p){clone->next = p->next;clone = clone->next;p->next = clone->next;p = p->next;}return cloneListHead;}
};

复杂度分析:

时间复杂度:O(n),其中 n 是原始链表的节点个数。算法遍历了每个节点。

空间复杂度:O(n),其中 n 是原始链表的节点个数。算法创建了每个节点的副本。

http://www.yayakq.cn/news/659551/

相关文章:

  • 素材网站官网网站开发市场规模
  • 宁海县建设局网站可以发布软文的平台
  • 本地化网站建设物流企业网站模板免费下载
  • 大一网页设计个人网站代码wordpress升级 没有ftp
  • 淄博网站排名优化报价新媒体网站建设方案
  • php做简易网站胶南网站建设公司
  • 海口企业免费建站江西城乡建设厅网站
  • 网站的功能和作用网站建设搜索优化
  • 美容平台网站建设知名网站制作全包
  • 大良建站公司行业现状宝塔搭建wordpress网站
  • 建设网站上申请劳务资质吗wordpress 插件经验
  • 长沙网站搭建优化门业网站 源码
  • 网站上传照片 传不上去文章类网站选什么内容
  • 北京网站建设 降龙网新遵义吧
  • 辽宁省建设工程信息网官网新网站入口官方有人拉我做彩票网站
  • 晋城网络公司做网站的提高网站知名度
  • 宝安做棋牌网站建设哪家便宜服务器可以做几个网站
  • 哪个网站有律师做的案件全国企业信用信息公示系统网站
  • 网站开发的硬件设备南沙做网站要多少钱
  • 有了自己的网站怎样做后台软件开发方法有几种
  • 网站建设技术支持方案建立属于自己的网站
  • 做网站 异地域名哪里有制作网站系统
  • wordpress网站速度慢wordpress4.2 for sae
  • 周口网站设计制作青岛官网seo价格
  • 亲子装网站建设it培训机构有哪些
  • 广网站建设天猫店铺一个多少钱
  • 网站添加背景音乐网站开发用户分析
  • 网页制作培训网站自己做网站花费
  • 龙岩网站建设加盟做公司网站流程
  • 网站建设中 html5企业代码