• 相交链表


    # 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) -> ListNode:
            if headA is None or headB is None:
                return None
            pa, pb = headA, headB
            while pa is not pb:
                if pa is not None:
                    pa = pa.next
                else:
                    pa = headB

                if pb is not None:
                    pb = pb.next
                else:
                    pb = headA
            return pa

    为什么不相交出现没有死循环:
    如果不相交说明两个指针走过的次数都为m+n,他们会同时到达链尾,也就是它们同时会指向NULL,达到跳出循环的条件

    第一种方法: 语言特性 hashmap

     

  • 相关阅读:
    [每日一题]石子合并 -- 区间DP
    [每日一题]: 最长上升子序列 AND 最长不上升子序列
    [每日一题]:最大子矩阵和
    入门DP--最大子段和
    [转载]:正确的提问方式
    springmvc.xml
    service层springservice.xml文件
    aop切面配置
    配置事务通知
    短信验证
  • 原文地址:https://www.cnblogs.com/shamoguzhou/p/15309511.html
Copyright © 2020-2023  润新知