python-leetcode-相交链表

160. 相交链表 - 力扣(LeetCode)

python 复制代码
# 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]:
        if not headA or not headB:
            return None

        pA, pB = headA, headB

        while pA != pB:
            # 当 pA 走完 A 链表后,跳到 B 链表
            pA = pA.next if pA else headB
            # 当 pB 走完 B 链表后,跳到 A 链表
            pB = pB.next if pB else headA

        return pA  # 若相交返回交点,否则返回 None
相关推荐
洲星河ZXH19 小时前
Java,比较器
java·开发语言·算法
尋有緣19 小时前
力扣1069-产品销售分析II
leetcode·oracle·数据库开发
CoderYanger19 小时前
递归、搜索与回溯-FloodFill:33.太平洋大西洋水流问题
java·算法·leetcode·1024程序员节
CodeByV19 小时前
【算法题】双指针(二)
数据结构·算法
点云SLAM20 小时前
Boost库中Math 模块的根搜索 / 根求解和示例
数学·算法·数值优化·根搜索 / 根求解和示例·函数根求解·boost模块
我搞slam20 小时前
EM Planner算法与代码解读
算法
CodeWizard~21 小时前
线性筛法求解欧拉函数以及欧拉反演
算法
45288655上山打老虎21 小时前
右值引用和移动语义
算法
liulilittle21 小时前
C++ 并发双阶段队列设计原理与实现
linux·开发语言·c++·windows·算法·线程·并发