(day 38 - 双指针) 剑指 Offer 52. 两个链表的第一个公共节点
题目
题链:剑指 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. 两个链表的第一个公共节点相关推荐
- 【LeetCode】剑指 Offer 52. 两个链表的第一个公共节点
[LeetCode]剑指 Offer 52. 两个链表的第一个公共节点 文章目录 [LeetCode]剑指 Offer 52. 两个链表的第一个公共节点 一.双指针 一.双指针 设 "第一个 ...
- 剑指 Offer 52. 两个链表的第一个公共节点
题目:剑指 Offer 52. 两个链表的第一个公共节点 ,哈哈,我们今天来看一道很简单的题嘛,这是选自剑指 Offer 上的一道题,好了,我们一起来看看题意吧: 考虑到直接复制题目,或者截屏的方式不 ...
- 【Java】剑指 Offer 52. 两个链表的第一个公共节点
题目 :输入两个链表,找出它们的第一个公共节点. 算法思路 : 首先我们要明确,两个链表相交,是Y形状的 两个链表相交,是next域相同 因为两个单链表的长度是不一样的,所以我们需要让长的那个链表,引 ...
- 剑指 Offer 52. 两个链表的第一个公共节点(C语言)
*输入两个链表,找出它们的第一个公共节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = ...
- 【算法】剑指 Offer 52. 两个链表的第一个公共节点
文章目录 1.概述 2. 有序 3. 循环 4. set集合 1.概述 输入两个链表,找出它们的第一个公共节点. 如下面的两个链表: 在节点 c1 开始相交.
- 剑指 Offer 52—— 两个链表的第一个公共节点
题目链接:https://leetcode-cn.com/problems/liang-ge-lian-biao-de-di-yi-ge-gong-gong-jie-dian-lcof/ 输入两个链表 ...
- LeetCode-剑指 Offer 52. 两个链表的第一个公共节点
剑指 Offer 52. 两个链表的第一个公共节点 思路一:用set容器,不符合题意 /*** Definition for singly-linked list.* struct ListNode ...
- 《剑指offer》两个链表的第一个公共节点
题目:输入两个链表,找出它们的第一个公共结点. 解析:暴力更直接.直接遍历两个链表分别存储到list1.list2,然后在list1和list2中找公共节点就好了 /* public class Li ...
- 剑指Offer之两个链表的第一个公共节点
题目描述 输入两个链表,找出它们的第一个公共结点. 解题思路 首先,如果都是空链表,那么肯定返回空.两个单链表假设有公共节点,那么肯定是"Y"字型的. 先计算两个链表的长度,求出长 ...
- 《剑指offer》-- 两个链表的第一个公共结点、链表中环的入口结点、删除链表中的重复结点
一.两个链表的第一个公共结点: 1.题目: 输入两个链表,找出它们的第一个公共结点. 2.解题思路: (1)第一种:找出两个链表的长度,然后让长的链表先走两个链表的长度差,接着两个链表一起走. (2) ...
最新文章
- extjs store 复杂json_extjs 2.3 修复 jsonstore 嵌套多级引用数据NULL的BUG
- mybatis 一对多_Mybatis 强大的结果集映射器resultMap
- word 替换 增加引号_如何在Word 2013文档中替换部分(不是全部)智能引号
- mysql时间区间效率_对于sql中使用to_timestamp判断时间区间和不使用的效率对比及结论...
- 天猫APP也可以点外卖了!饿了么接入天猫App
- TensorFlow函数(四)tf.trainable_variable() 和 tf.all_variable()
- GPU求解粘性不可压流体
- stm32配置wifi
- MarkDown图片居中
- Kanzi制作的应用能在鸿蒙系统中运行吗?
- hdu 4262 Juggler(树状数组)
- 北上资金近1周流入排行榜
- 【时间序列异常检测】时序异常检测综述整理(2020-2021)
- 淘宝运营 淘金币的定义 怎样利用淘金币引流 怎样推广
- ImageIO.read(URL) 返回 null
- lisp标定高程_基于Auto Lisp的局部高程点批量检查与修改技术
- 模电数电之你有我也有
- 唠唠 RDS 那些事 ——RDS 服务部署
- 在 Excel 中如何对数字进行乘除
- Principle 6.9 中文版 Mac平台交互动效设计神器
热门文章
- eclipse创建测试apk文件的测试工程,报错java.lang.NullPointerException
- 唐僧给李世民的取经汇报
- javascript弹出窗口总结
- 3.Prometheus 监控技术与实践 --- Exporter
- 28. HTTP、SSL/TLS和HTTPS协议的区别与联系
- css3中的perspective与perspective-origin
- Linux Mysql5.6安装
- [Windows API] Listing the Files in a Directory,可用来数文件夹下有多少个子文件(夹)...
- Django 分页 以及自定义分页
- ios -- 极光推送《2》--极光推送消息推送成功,但是手机收不到的解决方法