力扣160. 相交链表

目录

1.解题思路

首先分析,如果两个链表的长度不一,假设他们有交点,那么他们的最后一定是相同的,也即是后面为相同的部分,但前面不好说,而又因为长度不一又没法简便的一一对比,因此可以先求出两个链表的长度,并将长链表先往后走两个链表的差值,走后就可一一对应了.

2.代码实现

cpp 复制代码
struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB)
 {    struct ListNode *pA=headA;
      struct ListNode *pB=headB;
      int numA=0;
      int numB=0;
      while(pA)
      {
          numA++;
          pA=pA->next;
      }
    while(pB)
    {
    numB++;
    pB=pB->next;
    }
    int tmp=abs(numA-numB);
    struct ListNode *fast=headA;
    struct ListNode *slow=headB;
    if(numA<numB)
    {
     fast=headB;
     slow=headA;
    }
    while(tmp--)
    {
     fast=fast->next;
    }
     while(fast)
     {
      if(fast==slow)
      return fast;
      fast=fast->next;
      slow=slow->next;

     }
     return NULL;

}

结尾:今天的分享到此结束,喜欢的朋友如果感觉有帮助可以点赞三连支持,咱们共同进步!

相关推荐
Fly Wine1 天前
Leetcode之有效字母异位词
算法·leetcode·职场和发展
程序员夏末1 天前
【LeetCode | 第七篇】算法笔记
笔记·算法·leetcode
csdn_aspnet1 天前
C/C++ 两个凸多边形之间的切线(Tangents between two Convex Polygons)
c语言·c++·算法
数据皮皮侠1 天前
中国城市间地理距离矩阵(2024)
大数据·数据库·人工智能·算法·制造
3GPP仿真实验室1 天前
深度解析基站接收机核心算法:从 MRC 到 IRC 的空间滤波演进
算法
Boop_wu1 天前
[Java 算法] 动态规划(1)
算法·动态规划
WolfGang0073211 天前
代码随想录算法训练营 Day18 | 二叉树 part08
算法
hanlin031 天前
刷题笔记:力扣第43、67题(字符串计算)
笔记·算法·leetcode
yang_B6211 天前
最小二乘法 拟合平面
算法·平面·最小二乘法
放下华子我只抽RuiKe51 天前
深度学习全景指南:硬核实战版
人工智能·深度学习·神经网络·算法·机器学习·自然语言处理·数据挖掘