1.1我的思路,

本质上是让两个链表走了两端相同的路程(a+b+c),所以最终会相遇

class Solution {public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {if(!headA || !headB)return NULL;ListNode *pA = headA,*pB = headB;for(int i = 0;i < 2;i++){while(pA && pB){pA = pA->next;pB = pB->next;}if(!pA)pA = headB;else pB = headA;}*//*while(pA && pB){pA = pA->next;pB = pB->next;}if(!pA)pA = headB;else pB = headA;while(pB && pA){pA = pA->next;pB = pB->next;}if(!pA)pA = headB;else pB = headA;//这两段重复的代码能不能写成一段*//*while(pB && pA && pB != pA){pA = pA->next;pB = pB->next;}if(pB){return pB;}else return NULL;}
};

由于有两端程序相同,使用for循环控制,但是这样会慢一点可能是因为跳转语句的缘故

别人较为精简的代码

class Solution {public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {ListNode *A = headA, *B = headB;while (A != B) {A = A != nullptr ? A->next : headB;B = B != nullptr ? B->next : headA;}return A;}
};作者:jyd
链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/solution/intersection-of-two-linked-lists-shuang-zhi-zhen-l/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

如果两条链表之间没有交点就视为相交于null

2021-05-21Leetcdoe160.相交链表相关推荐

  1. 【每日一算法】相交链表

    微信改版,加星标不迷路! 每日一算法 - 相交链表 编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, l ...

  2. 《LeetCode力扣练习》第160题 相交链表 Java

    <LeetCode力扣练习>第160题 相交链表 Java 一.资源 题目: 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表不存 ...

  3. leetcode 160 简单难度 相交链表

    160. 相交链表 编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 输入:intersectVal = 8, listA = [4,1,8,4,5], li ...

  4. 文巾解题 160. 相交链表

    1 题目描述 2 解题思路 2.1 哈希表 遍历listA,把每个节点(以及后继节点)放入一个list中.遍历完A之后遍历B,如果B的某个节点(以及后继节点)在这个list中,那么我们就找到了相交的部 ...

  5. LeetCode-链表-160. 相交链表

    160. 相交链表 思路一:使用set用到了额外的内存,没有达到题目要求 /*** Definition for singly-linked list.* struct ListNode {* int ...

  6. python 相交链表

    |相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表不存在相交节点,返回 null . 图示两个链表在节点 c1 开始相交: 题目数据 ...

  7. LeetCode Algorithm 160. 相交链表

    160. 相交链表 Ideas 这题之前左神算法课的时候也讲过,那是一个带环的相交链表,不过原理都是一样的. 双指针,a指针先沿着headA开始走,走到头之后开始沿着headB继续走,b指针先沿着he ...

  8. 160. 相交链表 golang

    160. 相交链表 计算两个链表长度,让长的先走到两个链表一样长,然后找交点 编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:inters ...

  9. 链表题目----5 相交链表 和 环形链表 和 返回链表开始入环的第一个节点

    相交链表 思路 链表交叉不可能是x型 因为有可能两个链表不等长,所以我们必须让他们从同一起跑位置去起跑 从同一起跑位置出发,依次比较每个结点的地址是否相同 /*** Definition for si ...

  10. 【LeetCode】【HOT】160. 相交链表

    [LeetCode][HOT]160. 相交链表 文章目录 [LeetCode][HOT]160. 相交链表 package hot;class ListNode{int val;ListNode n ...

最新文章

  1. aptana手动配置python环境_Aptana Studio 3中通过Auto Config配置PyDev中Python出错
  2. mysql列偏移_MySQL:如何对待分布偏移的数据
  3. 齐次坐标,怎么你也叫Homogeneous
  4. 【BZOJ2959】【codevs2002】长跑,维护双联通分量
  5. ECSHOP删除商品名称或文章标题后的省略号
  6. .NET3.5 GDI+ 图形操作2
  7. 彻底理解数字图像处理中的卷积-以Sobel算子为例
  8. vscode 添加库头文件_VSCode配置C/C++并添加非工作区头文件的方法
  9. uniapp 调用阿里云OCR身份证识别
  10. JS常用正则表达式大全
  11. Android腾讯信鸽推送
  12. 计算机网络之广域网基础以及华为eNSP实验配置
  13. Spring框架学习第二部分
  14. 三维软件中制作动画导入Unity中使用
  15. Duang,Duang,H5 +酷炫效果+干货,此时不收更待何时
  16. 我们的宇宙,在某种意义上,是最好的一个
  17. Linux文件查找的4个命令
  18. 高桥智隆:未来机器人将取代智能手机,并成为人类的朋友
  19. 如何用MathType编辑集合运算符号
  20. JPEG压缩如何工作?

热门文章

  1. (2018-2)解一元一次方程
  2. Vue安装及创建第一个Vue项目
  3. Articulate、iSpring与Snap!功能对比分析
  4. python中大顶堆和小顶堆
  5. windows识别android串口,windows平台修改libnfc 1.7.0使其支持pn532_uart串口
  6. Kaggle_news_stock简单文本特征处理
  7. Flash鼠绘入门第一课:认识鼠绘
  8. 机器学习应用篇(八)——基于BP神经网络的预测
  9. 世界各国的会计年度、记账本位币
  10. ubuntu16.04 catkin_make报错No rule to make target '/usr/lib/x86_64-linux-gnu/libGL.so'