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

北京网站改版公司江苏seo平台

北京网站改版公司,江苏seo平台,平面设计师岗位职责和任职要求,公司简介模板免费ppt下载原题链接:https://leetcode.cn/problems/intersection-of-two-linked-lists/description/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 看到这道题,很容易想到的方法就是暴力求解,就是将一个链表的每个结点的地址…

原题链接:https://leetcode.cn/problems/intersection-of-two-linked-lists/description/

目录

1. 题目描述

2. 思路分析

3. 代码实现


1. 题目描述

 

2. 思路分析

看到这道题,很容易想到的方法就是暴力求解,就是将一个链表的每个结点的地址分别和另外一个链表的每个结点的地址进行比较,如果有相等的,就说明相交了。(注意这里不能比值,因为两个不同的结点值有可能一样)。但是这样的时间复杂度太高了,为O(N^2)。

这道题有一个很好的做法:

先计算出两个链表的长度,让长的链表先走相差的长度,然后两个链表同时走,直到遇到相同的结点,即为第一个公共结点

我们定义了四个变量curA,curB,lenA,lenB。

我们用结构体指针curA遍历链表A,用结构体指针curB遍历链表B

lenA表示链表A的长度lenB表示链表B的长度

用while循环通过遍历分别得到了链表A和B的长度。

我们判断尾结点是否相等,如果尾结点相等,说明两个链表一定相交!!!

(我们看下图,如果两个链表相交,那么从这个相交的结点(包括这个交点)之后的结点,在两个链表中都是相等的。所以尾结点相等,说明两个链表一定相交。)

如果两个链表不相交curA!=curB),我们直接返回空指针NULL

如果两个链表相交,我们先让长的链表走两个链表长度的差距步(gap)。因为不知道两个链表哪个长,所以我们使用了abs()函数,差距步gap就是abs(lenA-lenB)。

之后我们又引入了两个结构体指针longListshortList分别指向长链表短链表的头。这里用了if语句判断先假设某个链表是长链表,如果不是,就让它等于短链表

然后我们用一个while循环让长链表走差距步while(gap--))。

然后让longList和shortList这两个结构体指针同时走找交点,找到交点时结束循环。

最后返回longList即可。

3. 代码实现

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {struct ListNode *curA=headA,*curB=headB;int lenA=1,lenB=1;//计算链表长度while(curA->next){curA=curA->next;  ++lenA;}while(curB->next){curB=curB->next;++lenB;}//不相交if(curA!=curB)return NULL;int gap=abs(lenA-lenB);struct ListNode *longList=headA,*shortList=headB;if(lenA<lenB){longList=headB;shortList=headA;}//长的先走差距步while(gap--){longList=longList->next;}//同时走找交点while(longList!=shortList){longList=longList->next;shortList=shortList->next;}return longList;
}

 

http://www.dinnco.com/news/76662.html

相关文章:

  • 网站生成器下载nba最新交易信息
  • 访问自己做的网站吗优化教程网站推广排名
  • 想做个网站报价蔬菜价格怎么做黄冈seo
  • 临沂市建设局网站勘察设计哪里有做网络推广的
  • 做网站用的软件免费入驻的卖货平台
  • 如何建立公司网站多少钱开发小程序
  • 网站建设经费方案网络推广公司网站
  • 做网上水果网站的调查广东省最新疫情
  • 第一次装wordpress上海seo网站优化
  • 做自媒体的有哪些素材网站我想做电商
  • 抵押网站建设方案网页设计作品
  • 创业做招商加盟类网站赚钱网站如何推广出去
  • 网站开发付款方式和比例上海搜索排名优化公司
  • 专业的做网站的搜索引擎优化技术有哪些
  • 有服务器如何做网站企业培训权威机构
  • 呼伦贝尔旅游包车网站咋做网络推广工具有哪些
  • wordpress smtp配置搜索引擎优化培训
  • 三门峡市住房的城乡建设局网站win10必做的优化
  • 手机上能不能制作网站开发谷歌商店下载不了软件
  • 建设网站如何弄好几张网站背景百度一下首页极简版
  • 上海助君网络科技有限公司苏州首页排名关键词优化
  • dz做网站缺点长沙网站推广公司
  • 广东阳春市建设局网站新媒体seo培训
  • 班级网站怎么做ppt网络营销发展现状与趋势
  • wordpress编辑器换了seo综合查询中的具体内容有哪些
  • 基于互联网怎样做网站推广广州网站建设正规公司
  • 网络加速器海外简述seo的概念
  • 没有网站可以做百度直通车吗网络运营seo是什么
  • 模板建网站怎么做seo上海关键词优化方法
  • 宁波网站推广优化aso如何优化