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

leetcode-相交链表

160. 相交链表

注:两个链表相交不是指两个节点的值相等,而是指节点所在的地址

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def getIntersectionNode(self, headA: ListNode, headB: ListNode) -> Optional[ListNode]:
        curA = headA
        curB = headB
        lenA = 0
        lenB = 0
        # 求出两个链表的长度
        while curA:
            lenA += 1
            curA = curA.next
        while curB:
            lenB += 1
            curB = curB.next
        # 这个地方是因为上面求长度的时候已经遍历到curA和curB的末尾了
        curA = headA
        curB = headB
        if lenA > lenB:
            lenA, lenB = lenB, lenA
            curA, curB = curB, curA
        # 使curA和curB在同一起点上
        for _ in range(lenB - lenA):
            curB = curB.next
        
        while curA:
            if curA == curB:
                return curA
            else:
                curA = curA.next
                curB = curB.next
        return None

相关文章:

  • 机器学习笔记 - 基于自定义数据集 + 3D CNN进行视频分类
  • 表单的总数据为什么可以写成一个空对象,不用具体的写表单中绑定的值,vue3
  • 大模型实战营Day5笔记
  • 科技云报道:金融大模型落地,还需跨越几重山?
  • 【Docker】Dockerfile 指令详解
  • 灰度图像的自动阈值分割
  • 数学建模--比赛
  • 【MySQL】MySQL 8.0 状态变量(Server Status Variables)以及SHOW STATUS命令
  • 瑞_数据结构与算法_二叉树
  • java SSM园林绿化管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计
  • 【MySQL安装】附软件下载:压缩包版+docker安装
  • 双指针算法专题
  • What is `StringEscapeUtils.escapeHtml4` does?
  • 【明道云】学习笔记1-了解APaaS
  • 数据结构·顺序表应用
  • Golang 中的反射,并用来获取数据类型
  • 如何将想要执行的代码和Spring Boot 项目的启动类一起执行(ES为例)
  • 【高危】Apache Solr 环境变量信息泄漏漏洞
  • 37-WEB漏洞-反序列化之PHPJAVA全解(上)
  • 【刷题笔记4】
  • 这个“超强致癌细菌”,宝宝感染率高达40%,预防却很简单
  • 广东韶关一镇干部冲进交通事故火海救人,获授“见义勇为”奖励万元
  • 金俊峰已跨区任上海金山区委副书记
  • 上海交大计算机学院成立,设多个拔尖人才特色班
  • 数说母亲节|全球11亿女性进入更年期,“不是忍忍就好”
  • 肖峰读《从塞北到西域》︱拉铁摩尔的骆驼