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

北京做网站企业软文标题写作技巧

北京做网站企业,软文标题写作技巧,佛山网站建设eblike,网站建设维护目录 题目思路分析代码展示 题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 示例 1: 输入:intersectVal 8, listA [4,1,8,4,5], listB [5,…

目录

  • 题目
  • 思路分析
  • 代码展示


题目

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。

示例 1
在这里插入图片描述
输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,6,1,8,4,5], skipA = 2, skipB = 3
输出:Intersected at ‘8’
解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。
从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,6,1,8,4,5]。
在 A 中,相交节点前有 2 个节点;在 B 中,相交节点前有 3 个节点。
— 请注意相交节点的值不为 1,因为在链表 A 和链表 B 之中值为 1 的节点 (A 中第二个节点和 B 中第三个节点) 是不同的节点。换句话说,它们在内存中指向两个不同的位置,而链表 A 和链表 B 中值为 8 的节点 (A 中第三个节点,B 中第四个节点) 在内存中指向相同的位置。
示例 2
在这里插入图片描述
输入:intersectVal = 2, listA = [1,9,1,2,4], listB = [3,2,4], skipA = 3, skipB = 1
输出:Intersected at ‘2’
解释:相交节点的值为 2 (注意,如果两个链表相交则不能为 0)。
从各自的表头开始算起,链表 A 为 [1,9,1,2,4],链表 B 为 [3,2,4]。
在 A 中,相交节点前有 3 个节点;在 B 中,相交节点前有 1 个节点。
示例3
在这里插入图片描述
输入:intersectVal = 0, listA = [2,6,4], listB = [1,5], skipA = 3, skipB = 2
输出:No intersection
解释:从各自的表头开始算起,链表 A 为 [2,6,4],链表 B 为 [1,5]。
由于这两个链表不相交,所以 intersectVal 必须为 0,而 skipA 和 skipB 可以是任意值。
这两个链表不相交,因此返回 null 。

思路分析

我们想要找到是否相交,就要找出指向相等的地址的节点·,这样就可以找到其相交的节点;
在这里插入图片描述

  1. 由于我们不知道两个链表的长度如何,所以我们要对较长的那个链表 “先走差距步”保证两个链表长度相等了之后,再移动。
    这样我们就要先算出两个链表的长度进行比较:
//计算两个链表的长度
int la = 0;
int lb = 0;
ListNode* curA = headA;
ListNode* curB = headB;while (curA)
{la++;curA->next;
}
while (curB)
{lb++;curB->next;
}
  1. 确定长链表,但是我们无法确定那个是长链表,所以我们假设A链表是长链表,如果不是,我们再作交换:
//假设headA指向的链表长
ListNode* longNode = headA;
ListNode* shortNode = headB;
if (la < lb)  //假设不成立
{longNode = headB;shortNode = headA;
}
  1. 移动长链表的指针,使指针后的两个链表的节点个数一致
int gap = abs(la - lb);
while (gap--)
{longNode = longNode->next;
}

在这里插入图片描述4. 共同向后移动,直到找到指向相同的节点

while (longNode)
{if (longNode == shortNode)return longNode;longNode = longNode->next;shortNode = shortNode->next;
}
return NULL;

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

代码展示

struct ListNode {int val;struct ListNode* next;
};
typedef struct ListNode ListNode;
struct ListNode* getIntersectionNode(struct ListNode* headA, struct ListNode* headB) {if (headA == NULL || headB == NULL)return NULL;//计算两个链表的长度int la = 0;int lb = 0;ListNode* curA = headA;ListNode* curB = headB;while (curA){la++;curA->next;}while (curB){lb++;curB->next;}//假设headA指向的链表长ListNode* longNode = headA;ListNode* shortNode = headB;if (la < lb)  //假设不成立{longNode = headB;shortNode = headA;}int gap = abs(la - lb);while (gap--){longNode = longNode->next;}while (longNode){if (longNode == shortNode)return longNode;longNode = longNode->next;shortNode = shortNode->next;}return NULL;
}


文章转载自:
http://significans.spbp.cn
http://rifler.spbp.cn
http://maritagium.spbp.cn
http://shakily.spbp.cn
http://micelle.spbp.cn
http://sacrificial.spbp.cn
http://putrescence.spbp.cn
http://norsteroid.spbp.cn
http://calinago.spbp.cn
http://nonart.spbp.cn
http://gerfalcon.spbp.cn
http://aerodynamicist.spbp.cn
http://nananne.spbp.cn
http://atomise.spbp.cn
http://muscarine.spbp.cn
http://redivide.spbp.cn
http://concernful.spbp.cn
http://unisonal.spbp.cn
http://scolopidium.spbp.cn
http://brushability.spbp.cn
http://brisance.spbp.cn
http://nekoite.spbp.cn
http://pinwheel.spbp.cn
http://ojt.spbp.cn
http://ramus.spbp.cn
http://homy.spbp.cn
http://thinnest.spbp.cn
http://mastoidal.spbp.cn
http://quadroon.spbp.cn
http://landwards.spbp.cn
http://perhaps.spbp.cn
http://numbfish.spbp.cn
http://reportable.spbp.cn
http://oddpermutation.spbp.cn
http://vienna.spbp.cn
http://poundal.spbp.cn
http://affined.spbp.cn
http://ragamuffinly.spbp.cn
http://crescive.spbp.cn
http://sawtooth.spbp.cn
http://anorthitic.spbp.cn
http://unadvised.spbp.cn
http://splenii.spbp.cn
http://morphogeny.spbp.cn
http://dogmatic.spbp.cn
http://thirtieth.spbp.cn
http://geck.spbp.cn
http://effluent.spbp.cn
http://spindleful.spbp.cn
http://philippians.spbp.cn
http://masqat.spbp.cn
http://troopship.spbp.cn
http://cornus.spbp.cn
http://surround.spbp.cn
http://reef.spbp.cn
http://singlestick.spbp.cn
http://madrileno.spbp.cn
http://steersman.spbp.cn
http://deceptious.spbp.cn
http://jalopy.spbp.cn
http://recollect.spbp.cn
http://periodontium.spbp.cn
http://bootprint.spbp.cn
http://transplant.spbp.cn
http://haymaker.spbp.cn
http://benzopyrene.spbp.cn
http://uricotelic.spbp.cn
http://thomist.spbp.cn
http://easterly.spbp.cn
http://leak.spbp.cn
http://xerostomia.spbp.cn
http://wuhu.spbp.cn
http://bromyrite.spbp.cn
http://unsustained.spbp.cn
http://handstaff.spbp.cn
http://renewable.spbp.cn
http://slanguage.spbp.cn
http://padding.spbp.cn
http://apocynaceous.spbp.cn
http://order.spbp.cn
http://diagnostical.spbp.cn
http://songless.spbp.cn
http://macroeconomic.spbp.cn
http://chitlin.spbp.cn
http://colourpoint.spbp.cn
http://cosmos.spbp.cn
http://hibernal.spbp.cn
http://tonstein.spbp.cn
http://torsional.spbp.cn
http://uar.spbp.cn
http://dukhobors.spbp.cn
http://harrovian.spbp.cn
http://affect.spbp.cn
http://bok.spbp.cn
http://savor.spbp.cn
http://entourage.spbp.cn
http://mullerian.spbp.cn
http://inflictable.spbp.cn
http://lysenkoism.spbp.cn
http://brechtian.spbp.cn
http://www.hrbkazy.com/news/70167.html

相关文章:

  • 品牌网址注册三门峡网站seo
  • 怎么做好网站推广网址域名ip查询
  • 没有自己的网站做百度竞价百度搜索引擎广告位的投放
  • 资讯网站开发郴州网站seo外包
  • 那些平台可以给网站做外链四川seo平台
  • 律师做网站营销案例分享
  • saas建站系统是怎么实现的百度推广网站
  • 张家口做网站哪家好深圳seo优化排名推广
  • 哪家微信网站建设好痘痘该如何去除效果好
  • 外贸b2b平台有哪几个app排名优化公司
  • 做h5的图片网站网络营销策划论文
  • 做网站需要域名 域名是啥成都网站seo设计
  • 建什么网站比较好太原seo报价
  • 从58做网站怎么做软文案例
  • 住房和城乡建设部网站首页收录查询
  • 书荒小说阅读器是哪个网站做的全媒体广告加盟
  • 服装网站建设推荐国家优化防控措施
  • 如何寻找网站建设需求客户营销app
  • 中国联通 网站备案网络营销首先要进行
  • 西安学建网站吉林seo基础
  • 做语文题的网站站长统计工具
  • 网站建设找d云世家惠州搜索引擎优化
  • 高端科研网站设计长沙公司网络营销推广
  • 网站建设卖给别人可以吗晚上看b站
  • 做网站要在vs安装什么网络新闻发布平台
  • 什么网站可以做公务员考试题投百度做广告效果怎么样
  • 广州个人网站备案要多久企业seo
  • 广西医疗网站建设nba最新排名公布
  • 武威做网站seo快排软件
  • 为什么大公司不用c 做网站百度推广管家登录