题目

题链:剑指 Offer 52. 两个链表的第一个公共节点

题解

本题使用双指针、A = headA,B = headB,假设C为相交的公共节点长度为c。A,B长度分别为a,b,很容易发现a+(b-c) = b+(a-c)。

a+(b-c)为A节点走完了A节点后再去走B节点直到走到第一个公共节点。
b+(a-c)为B节点走完了B节点后再去走A节点直到走到第一个公共节点。

有一个浪漫的说法就是
“我变成你,走你走过的路。你变成我,走我走过的路。然后我们相遇了”
可以完美的映射本题的解题思路。

所以有代码:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {ListNode A = headA,B = headB;while(A != B){A = A == null ? headB:A.next;B = B == null ? headA:B.next;}return B;}
}

(day 38 - 双指针) 剑指 Offer 52. 两个链表的第一个公共节点相关推荐

  1. 【LeetCode】剑指 Offer 52. 两个链表的第一个公共节点

    [LeetCode]剑指 Offer 52. 两个链表的第一个公共节点 文章目录 [LeetCode]剑指 Offer 52. 两个链表的第一个公共节点 一.双指针 一.双指针 设 "第一个 ...

  2. 剑指 Offer 52. 两个链表的第一个公共节点

    题目:剑指 Offer 52. 两个链表的第一个公共节点 ,哈哈,我们今天来看一道很简单的题嘛,这是选自剑指 Offer 上的一道题,好了,我们一起来看看题意吧: 考虑到直接复制题目,或者截屏的方式不 ...

  3. 【Java】剑指 Offer 52. 两个链表的第一个公共节点

    题目 :输入两个链表,找出它们的第一个公共节点. 算法思路 : 首先我们要明确,两个链表相交,是Y形状的 两个链表相交,是next域相同 因为两个单链表的长度是不一样的,所以我们需要让长的那个链表,引 ...

  4. 剑指 Offer 52. 两个链表的第一个公共节点(C语言)

    *输入两个链表,找出它们的第一个公共节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = ...

  5. 【算法】剑指 Offer 52. 两个链表的第一个公共节点

    文章目录 1.概述 2. 有序 3. 循环 4. set集合 1.概述 输入两个链表,找出它们的第一个公共节点. 如下面的两个链表: 在节点 c1 开始相交.

  6. 剑指 Offer 52—— 两个链表的第一个公共节点

    题目链接:https://leetcode-cn.com/problems/liang-ge-lian-biao-de-di-yi-ge-gong-gong-jie-dian-lcof/ 输入两个链表 ...

  7. LeetCode-剑指 Offer 52. 两个链表的第一个公共节点

    剑指 Offer 52. 两个链表的第一个公共节点 思路一:用set容器,不符合题意 /*** Definition for singly-linked list.* struct ListNode ...

  8. 《剑指offer》两个链表的第一个公共节点

    题目:输入两个链表,找出它们的第一个公共结点. 解析:暴力更直接.直接遍历两个链表分别存储到list1.list2,然后在list1和list2中找公共节点就好了 /* public class Li ...

  9. 剑指Offer之两个链表的第一个公共节点

    题目描述 输入两个链表,找出它们的第一个公共结点. 解题思路 首先,如果都是空链表,那么肯定返回空.两个单链表假设有公共节点,那么肯定是"Y"字型的. 先计算两个链表的长度,求出长 ...

  10. 《剑指offer》-- 两个链表的第一个公共结点、链表中环的入口结点、删除链表中的重复结点

    一.两个链表的第一个公共结点: 1.题目: 输入两个链表,找出它们的第一个公共结点. 2.解题思路: (1)第一种:找出两个链表的长度,然后让长的链表先走两个链表的长度差,接着两个链表一起走. (2) ...

最新文章

  1. extjs store 复杂json_extjs 2.3 修复 jsonstore 嵌套多级引用数据NULL的BUG
  2. mybatis 一对多_Mybatis 强大的结果集映射器resultMap
  3. word 替换 增加引号_如何在Word 2013文档中替换部分(不是全部)智能引号
  4. mysql时间区间效率_对于sql中使用to_timestamp判断时间区间和不使用的效率对比及结论...
  5. 天猫APP也可以点外卖了!饿了么接入天猫App
  6. TensorFlow函数(四)tf.trainable_variable() 和 tf.all_variable()
  7. GPU求解粘性不可压流体
  8. stm32配置wifi
  9. MarkDown图片居中
  10. Kanzi制作的应用能在鸿蒙系统中运行吗?
  11. hdu 4262 Juggler(树状数组)
  12. 北上资金近1周流入排行榜
  13. 【时间序列异常检测】时序异常检测综述整理(2020-2021)
  14. 淘宝运营 淘金币的定义 怎样利用淘金币引流 怎样推广
  15. ImageIO.read(URL) 返回 null
  16. lisp标定高程_基于Auto Lisp的局部高程点批量检查与修改技术
  17. 模电数电之你有我也有
  18. 唠唠 RDS 那些事 ——RDS 服务部署
  19. 在 Excel 中如何对数字进行乘除
  20. Principle 6.9 中文版 Mac平台交互动效设计神器

热门文章

  1. eclipse创建测试apk文件的测试工程,报错java.lang.NullPointerException
  2. 唐僧给李世民的取经汇报
  3. javascript弹出窗口总结
  4. 3.Prometheus 监控技术与实践 --- Exporter
  5. 28. HTTP、SSL/TLS和HTTPS协议的区别与联系
  6. css3中的perspective与perspective-origin
  7. Linux Mysql5.6安装
  8. [Windows API] Listing the Files in a Directory,可用来数文件夹下有多少个子文件(夹)...
  9. Django 分页 以及自定义分页
  10. ios -- 极光推送《2》--极光推送消息推送成功,但是手机收不到的解决方法