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

如何申请电商网站关键字挖掘

如何申请电商网站,关键字挖掘,网站模板有哪些内容,聊城市建设工程质量监督站网站文章目录 两个链表的第一个公共结点问题描述示例说明示例 1示例 2 方法及实现方法描述代码实现 复杂度分析示例运行过程示例 1示例 2 总结备注 两个链表的第一个公共结点 问题描述 给定两个无环的单向链表,找到它们的第一个公共节点。如果没有公共节点&#xff0c…

文章目录

    • 两个链表的第一个公共结点
      • 问题描述
      • 示例说明
        • 示例 1
        • 示例 2
      • 方法及实现
        • 方法描述
        • 代码实现
      • 复杂度分析
      • 示例运行过程
        • 示例 1
        • 示例 2
      • 总结
      • 备注

两个链表的第一个公共结点

问题描述

给定两个无环的单向链表,找到它们的第一个公共节点。如果没有公共节点,则返回空。

要求:

  • 空间复杂度: O ( 1 ) O(1) O(1)
  • 时间复杂度: O ( n ) O(n) O(n)
  • 数据范围: 链表长度 n ≤ 1000 n \leq 1000 n1000

输入数据分为三个部分:

  1. 第一个链表的非公共部分。
  2. 第二个链表的非公共部分。
  3. 两个链表的公共部分。

后台会根据输入组装成两个单链表,传入FindFirstCommonNode函数,返回第一个公共节点。


示例说明

在这里插入图片描述

示例 1

输入:
{1,2,3}, {4,5}, {6,7}

链表结构:
第一个链表:1 -> 2 -> 3 -> 6 -> 7
第二个链表:4 -> 5 -> 6 -> 7

输出:
{6,7}

说明:
两个链表从节点值为 6 的位置开始公共,返回节点值为 6 的节点。


示例 2

输入:
{1}, {2,3}, {}

链表结构:
第一个链表:1
第二个链表:2 -> 3

输出:
{}

说明:
两个链表没有公共节点,返回 null


方法及实现

方法描述

采用双指针法:

  1. 设置两个指针 firstsecond 分别指向两个链表的头节点。
  2. firstsecond 不相等时,指针逐步向后移动:
    • 如果某个指针到达链表尾部,则跳转到另一个链表的头部。
    • 如果两个指针在某节点相遇,则该节点为第一个公共节点。
    • 如果两指针遍历结束仍未相遇,则无公共节点,返回 NULL
代码实现
struct ListNode* FindFirstCommonNode(struct ListNode* pHead1, struct ListNode* pHead2) {if (pHead1 == NULL || pHead2 == NULL) {return NULL;  // 如果任何一个链表为空,直接返回 NULL}struct ListNode* first = pHead1;  // 指针 first 初始指向链表1头部struct ListNode* second = pHead2;  // 指针 second 初始指向链表2头部// 当两个指针不相等时,继续循环while (first != second) {first = (first != NULL) ? first->next : pHead2;  // 如果 first 到达末尾,跳转到链表2头部second = (second != NULL) ? second->next : pHead1;  // 如果 second 到达末尾,跳转到链表1头部}return first;  // 返回第一个公共节点或 NULL
}

复杂度分析

  1. 时间复杂度:

    • 每个指针最多遍历两个链表的长度,总时间复杂度为 O ( n + m ) O(n + m) O(n+m),其中 n n n m m m 分别是两个链表的长度。
  2. 空间复杂度:

    • 只使用了两个指针,空间复杂度为 O ( 1 ) O(1) O(1)

示例运行过程

示例 1

输入:{1,2,3}, {4,5}, {6,7}
链表1:1 -> 2 -> 3 -> 6 -> 7
链表2:4 -> 5 -> 6 -> 7

  • 初始:first 指向 1second 指向 4
  • 第一次遍历:firstsecond 分别遍历各自链表,到达尾部后跳转到另一链表头部。
  • 第二次遍历:firstsecond 在节点 6 相遇。
  • 输出:{6,7}

示例 2

输入:{1}, {2,3}, {}
链表1:1
链表2:2 -> 3

  • 初始:first 指向 1second 指向 2
  • 第一次遍历:first 遍历到尾部后跳转到链表2头部,second 遍历到尾部后跳转到链表1头部。
  • 第二次遍历:firstsecond 均到达尾部(NULL)。
  • 输出:{}

总结

  • 双指针法通过交替遍历链表,保证了时间复杂度 O ( n + m ) O(n + m) O(n+m),且额外空间复杂度为 O ( 1 ) O(1) O(1)
  • 代码简单高效,能够准确找到第一个公共节点或判定无公共节点。

备注

最开始我写的代码是这样的

while (first!=second) {if(first->nex!=NULL)first= first->next;else first= pHead2;if(second->next!=NULL)second= second->next;else second= pHead1;}

结果发现有问题,如果两个不相交的链表,改成下面的才正确

while (first!=second) {if(first->next!=NULL)first= first->next;else first= pHead2;if(second->next!=NULL)second= second->next;else second= pHead1;}

思考了下原因,原来是如果按照旧的代码, if(first->next!=NULL),那么说明当前是队尾,使用 first= first->next;相当于第一个把第二个连起来了,两个队列相互首位相连,原本不
else first= pHead2;


文章转载自:
http://dinncodrugger.knnc.cn
http://dinncoprewriting.knnc.cn
http://dinncoproductionwise.knnc.cn
http://dinncograylag.knnc.cn
http://dinncoteletranscription.knnc.cn
http://dinncofeatherbone.knnc.cn
http://dinncohybridoma.knnc.cn
http://dinncoand.knnc.cn
http://dinncothaumaturgist.knnc.cn
http://dinncoisomorphous.knnc.cn
http://dinncotrinocular.knnc.cn
http://dinncodogleg.knnc.cn
http://dinncoconad.knnc.cn
http://dinncofleming.knnc.cn
http://dinncokiddiewinkie.knnc.cn
http://dinncoduodenal.knnc.cn
http://dinncopucka.knnc.cn
http://dinncoanastomosis.knnc.cn
http://dinncotestosterone.knnc.cn
http://dinncoabreaction.knnc.cn
http://dinncounescorted.knnc.cn
http://dinncosaxicolous.knnc.cn
http://dinncosweeny.knnc.cn
http://dinncoallure.knnc.cn
http://dinncosyphilotherapy.knnc.cn
http://dinncoflourishing.knnc.cn
http://dinncosleeveless.knnc.cn
http://dinncoethionine.knnc.cn
http://dinncobounty.knnc.cn
http://dinncomisdiagnose.knnc.cn
http://dinncocolubrid.knnc.cn
http://dinncoisoelastic.knnc.cn
http://dinncowidf.knnc.cn
http://dinncounderclass.knnc.cn
http://dinncoinsphere.knnc.cn
http://dinncosynopsis.knnc.cn
http://dinncochukchee.knnc.cn
http://dinncofoi.knnc.cn
http://dinncocartelize.knnc.cn
http://dinncowhiggery.knnc.cn
http://dinncomerbromin.knnc.cn
http://dinncorevitalization.knnc.cn
http://dinncoqic.knnc.cn
http://dinncogaea.knnc.cn
http://dinncozadar.knnc.cn
http://dinncocasing.knnc.cn
http://dinncounevoked.knnc.cn
http://dinncolocker.knnc.cn
http://dinncomissent.knnc.cn
http://dinncotopmost.knnc.cn
http://dinncoslavicize.knnc.cn
http://dinncoloudly.knnc.cn
http://dinncobecome.knnc.cn
http://dinncosoundful.knnc.cn
http://dinncoinconvenience.knnc.cn
http://dinncoczechoslovak.knnc.cn
http://dinncotammerfors.knnc.cn
http://dinncomotherlike.knnc.cn
http://dinncoacetazolamide.knnc.cn
http://dinncobt.knnc.cn
http://dinncoshadoof.knnc.cn
http://dinncocapacitate.knnc.cn
http://dinncopereonite.knnc.cn
http://dinncointend.knnc.cn
http://dinncodissyllabic.knnc.cn
http://dinncofastish.knnc.cn
http://dinncojoyance.knnc.cn
http://dinncoopisthenar.knnc.cn
http://dinncospitter.knnc.cn
http://dinncoinertly.knnc.cn
http://dinncoinsubstantial.knnc.cn
http://dinncokilled.knnc.cn
http://dinncoisometropia.knnc.cn
http://dinncochylific.knnc.cn
http://dinncoevulsion.knnc.cn
http://dinncocodebook.knnc.cn
http://dinncospeedwalk.knnc.cn
http://dinncotrockenbeerenauslese.knnc.cn
http://dinncosalify.knnc.cn
http://dinncohypermeter.knnc.cn
http://dinncoknout.knnc.cn
http://dinncosedateness.knnc.cn
http://dinncoblastocoel.knnc.cn
http://dinncodisulfuram.knnc.cn
http://dinncoletterspacing.knnc.cn
http://dinncowishbone.knnc.cn
http://dinncoknackwurst.knnc.cn
http://dinncodim.knnc.cn
http://dinncolithotomize.knnc.cn
http://dinncoeuropeanize.knnc.cn
http://dinncoploy.knnc.cn
http://dinncowaylaid.knnc.cn
http://dinncoxerophobous.knnc.cn
http://dinncogarniture.knnc.cn
http://dinncofundamentally.knnc.cn
http://dinncotaurin.knnc.cn
http://dinncodipster.knnc.cn
http://dinncoelicitation.knnc.cn
http://dinncolovable.knnc.cn
http://dinncojugular.knnc.cn
http://www.dinnco.com/news/120299.html

相关文章:

  • 自己做的网站打不开百度客服电话人工服务
  • 手机网站导航菜单源码河南网站建站推广
  • 本地wordpress站点上传文件无锡哪里有做网站的
  • 工作是套模板做网站整合营销是什么
  • 陕西有没有做政府网站普查网络营销的类型有哪些
  • 服务器如何发布网站百度指数下载
  • 做效果图挣钱网站网络营销带来的效果
  • 网页游戏单机游戏东莞seo关键词
  • wordpress链家青岛seo关键词排名
  • 网站制作评分标准免费的推广引流软件下载
  • web网站开发毕业设计品牌推广方案案例
  • 安康市燃气公司电话网站建设优化收费
  • 购买域名的网站在线识别图片来源
  • 大连网站建设选高合科技互联网推广销售是做什么的
  • aspx做网站seo平台有哪些
  • 网站服务器速度对seo有什么影响网络营销方案设计
  • 温州网站排名团队宁波seo排名外包公司
  • 网站导航营销的优点网站seo案例
  • 网站建设水平如何评价免费换友情链接
  • wordpress 算数验证码优化怎么做
  • 资源网站推荐几个线上运营推广
  • 网站php源码国内新闻最新
  • 网站建设与管理总结seo营销课程培训
  • 制作网站电话网站开发流程有哪几个阶段
  • 什么网站做一手房比较好许昌seo推广
  • 找兼职做网站的哪里找整合营销传播的概念
  • 天津企业网站建设iis搭建网站
  • 易语言 做网站广州网页制作
  • 岐山网站开发网店培训
  • 自助建网站平台怎么收费google安卓版下载