【Leetcode】Write a program to find the node at which the intersection of two singly linked lists b...

Write a program to find the node at which the intersection of two singly linked lists begins.

class Solution(object):

    def getIntersectionNode(self, headA, headB):

        """

        :type head1, head1: ListNode

        :rtype: ListNode

        """

        if not headA or not headB:

            return None


        pa = headA

        pb = headB


        while pa is not pb:

            pa = headB if pa is None else pa.next

            pb = headA if pb is None else pb.next

        return pa

1 如果考虑时间复杂度,不用for循环用while循环

2 这里的switch head是关键,可以加快meet的速度

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容