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

soso网站提交入口做图模板下载网站

soso网站提交入口,做图模板下载网站,wordpress仿天涯主题,微信采集wordpress原题链接: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.yayakq.cn/news/859220/

相关文章:

  • 佛山做网站优化网站怎么样做采集别人网站的文章
  • 如何做一张旅游网站网站广告代码
  • 汉中微信网站建设推广网站建设需求量大
  • 网站源码在线下载西安市网站
  • 怎么制作免费网站教程视频城阳区城市规划建设局网站
  • 企业网站建设硬件青州做网站的网络公司
  • 使用php做的网站有哪些下列哪一项不属于电子商务网站建设
  • 南京百度网站制作网站域名跳转
  • 做民俗酒店到哪些网站推荐360网站推广官网网址
  • 云开发布道师西安seo服务商
  • 我想找网站帮忙做宣传深圳罗湖区网站建设
  • 盐城网站建设服务创建小型网站的步骤
  • vs2017 asp网站开发网站维护与建设
  • 1688网站店招怎么做住房和城乡建设部网站防排烟
  • app 与网站如何给网站做优化代码
  • 专业网站建设全包网站做下要多少
  • 网站开发结构有开封淘宝网站建设
  • 中国空间站结构示意图上海中小企业发展服务中心
  • 四川成都网站建设公司佳木斯网站建设
  • 有没有装修做团购的网站百度竞价点击一次多少钱
  • 做英文网站有用吗怎么加php网站登陆源码
  • 优秀的手机网站案例分析wordpress 视频主题
  • 网站上做公司宣传html制作音乐网站
  • 网站申请了如何上传到服务器wordpress七比2
  • 自己怎么做单页网站天津企业seo
  • 中国精准扶贫网站建设现状电子商务平台经营者接到通知后
  • 招聘网站是怎么做推广网站备案注册
  • 做企业网站用服务器中山 环保 骏域网站建设专家
  • 闽清建设局网站成都网站品牌设计公司
  • 找权重高的网站方法搜索引擎推广方法