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

2025年- H1-Lc109-160. 相交列表--java版

1.题目描述

在这里插入图片描述

2.思路

“双指针切换链表头”
思路一:双指针+路径对齐
while (pA != pB) {
pA = (pA == null) ? headB : pA.next;
pB = (pB == null) ? headA : pB.next;
}

让两个指针走相同的总路径长度!
设:

链表 A 独有部分长度是 lenA

链表 B 独有部分长度是 lenB

公共部分长度是 lenCommon

那两个指针会走的路径:

指针 A:先走 lenA + lenCommon,然后换到 B 头再走 lenB

指针 B:先走 lenB + lenCommon,然后换到 A 头再走 lenA

于是总长度都是:lenA + lenB + lenCommon
在这里插入图片描述
在这里插入图片描述

3.代码实现

/**
 * 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) {
        if(headA==null||headB==null) return null;
        ListNode PA=headA;
        ListNode PB=headB;
        while(PA!=PB)
        {
            if(PA!=null)
            {
                PA=PA.next;
            }
            else{
                PA=headB;
            }

            if(PB!=null)
            {
            PB=PB.next;//如果PB列表有元素就直接指向下一个
            }
            else{
                PB=headA;//如果PB已经到末尾了,开始遍历A列表
            }
        }
        return PB;//这边返回PA和PB都可以
        
    }
}

相关文章:

  • 前端使用proxy穿透后查看真实请求地址方法
  • WD5208 集成了 500V 高压 MOSFET 和高压启动电路,输出电压为 12V
  • DeepSeek-R1模型现已登录亚马逊云科技
  • C盘优化方法
  • 超卖问题解决方案
  • GitHub 上开源一个小项目的完整指南
  • 【Web API系列】XMLHttpRequest API和Fetch API深入理解与应用指南
  • 在MH2103上如何将usb cdc类虚拟出来的串口在Windows上使用固定串口号
  • 高校实验室安全数智化分级分类管理-危化品管理LIMS
  • Linux xxd命令
  • DeepSeek-MLA
  • 如何将内网的IP地址映射到外网?详细方法与步骤解析
  • 关于lombok的异常快速解决办法
  • 前端加密与Python逆向实战:HMAC-SHA1算法分析与数据抓取
  • OpenEuler部署Flink 1.19.2完全分布式集群
  • 极氪汽车云原生架构落地实践
  • 交换机工作在OSI模型的哪一层?
  • 比较与分析敏捷开发方法:XP、Scrum、FDD等的特点与适用场景
  • 计算机网络 3-2 数据链路层(流量控制与可靠传输机制)
  • uniapp App页面通过 web-view 调用网页内方法
  • 广州市网站制作服务公司/关键词搜索方法
  • 中国建设银行电话95533/新网站seo外包
  • 建筑材料网站建设/菏泽资深seo报价
  • 广州开发网站技术/如何做网址
  • 郑州装修公司排名推荐/seo关键词优化推广哪家好
  • 怎么做单位网站/手机优化大师官方版