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

郑州网站制作网页北京小程序制作首选华网天下

郑州网站制作网页,北京小程序制作首选华网天下,站长工具域名,国外自助建站一.前言 今天在力扣上刷到了一道题,想着和大家一起分享一下这道题——相交链表https://leetcode.cn/problems/intersection-of-two-linked-lists废话不多说,让我们开始今天的分享吧。 二.正文 1.1题目描述 是不是感觉好长,我也这么觉得。哈…

一.前言

今天在力扣上刷到了一道题,想着和大家一起分享一下这道题——相交链表https://leetcode.cn/problems/intersection-of-two-linked-lists废话不多说,让我们开始今天的分享吧。

二.正文

1.1题目描述

是不是感觉好长,我也这么觉得。哈哈,不过没办法,大家们凑合看一下吧,毕竟人家的题就那么长。

1.2题目分析

我想到有两种方法,一种是暴力求解,时间复杂度是O(N^2),还有一种是一种稍微巧妙一点的技巧,时间复杂度是(N)。

两种方法共同部分:

我们可以创建两个指针分别是指向headA和headB的 ,pcur1和pcur2。并让pcur1=headA

pcur2=pcurB。

我们首先需要判断该链表是不是相交链表,如果是,则返回相交链表的第一个相交节点。否则,返回NULL。那么如何判断该链表是不是相交链表呢?其实我们可以让pcur1和pcur2分别遍历两个链表的最后一个节点即可,如果pcur1=pcur2则说明两个链表至少有一个相交节点,毫无疑问这肯定是相交节点。反之,pcur1!=pcur2,则说明,不是相交链表。(值得注意的是,完成上面部分后,记得让pcur1=headA,pcur2=headB,因为pcur1和pcur2后续我们还需要重新遍历两个链表)

(i)暴力算法:

我们可以让headA中的每一个节点都与headB中的节点遍历一次,然后让headA的下一个节点,重复这个动作,直到headA的最后一个节点遍历结束。

这是该方法的代码:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
typedef struct ListNode ListNode;
struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) 
{
ListNode* pcur1,*pcur2;
pcur1=headA;
pcur2=headB;
while(pcur1->next!=NULL)
{pcur1=pcur1->next;
}
while(pcur2->next!=NULL)
{pcur2=pcur2->next;
}
if(pcur2!=pcur1)
return NULL;
pcur1=headA;
pcur2=headB;
while(pcur1->next!=NULL)
{
while(pcur2->next!=NULL)
{
if(pcur1==pcur2)
return pcur1;
pcur2=pcur2->next;
}
pcur2=headB;
pcur1=pcur1->next;
}
return pcur1;
}

(ii)非暴力算法:

那么我们应该依据什么来遍历相对长度前的数据呢?我们可以利用在遍历A和B的同时,让代表A链表len1++来算出长度,同理len2是算出B的长度。定义一个变量gap=abs(len1-len2)算出绝对值,如果A链表长,则A链表先遍历gap个长度的节点,反之B链表长则,B链表先遍历gap个长度的节点。

最后的步骤是上图所示,相对长度中的上下节点依次比较。

三.结言

今天的题目分享就到此结束了,拜拜了,家人们。

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

相关文章:

  • 湛江网站建设开发做个电商网站
  • 四川有什么好的网站建设公司wordpress调取文章列表
  • 做网站安阳域名的作用
  • 房屋租赁网站开发意义17做网店
  • 专门做推广的网站吗logo免费设计在线生成app
  • 局网站内容建设考核西安做网站设计的公司
  • 网站建设论文结尾哈尔滨企业建站服务商
  • 网站开发 营业执照棉桃剥壳机做网站
  • 某网站建设策划方案自己买一个服务器怎么做网站
  • 做网站选云服务器内核中山小程序开发
  • 洛阳建设网站制作社保扣款怎么在社保网站上做》
  • 如何仿制一个网站新乡网站网站建设
  • html网页设计用什么软件网站seo优化徐州百度网络
  • 行业网站建设教程推广产品
  • 有人上相亲网站做传销燕窝做网站月薪
  • 做粤菜的视频网站如何规划企业网站
  • 开网站要多少钱做网站素材在哪找
  • 医院网站株洲发布
  • 网站建设哪儿好openshift 安装 wordpress
  • 小九自助建站设计企业网站首页
  • 广东门户网站建设商贸网站源码
  • 做网站花都区工业设计专业大学排名
  • 自主建站系统从用户旅程角度做网站分析
  • php网站开发与设计外贸推广排行榜
  • 广州外贸网站公司网站内部链接是怎么做的
  • uc网站模板网页设计个人网站下载
  • 网站如何吸引蜘蛛江西企业网站建设价格
  • 10000ip网站怎么做比较好的免费网站
  • phpcms v9企业网站模板(简洁利于优化)网站镜像 cdn
  • 网站设计模板旅游景点11页如何做企业黄页网站