题解 | #两个链表的第一个公共结点#
两个链表的第一个公共结点
https://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def FindFirstCommonNode(self, pHead1, pHead2): a,b,c = 0,0,0 head1 = pHead1 head2 = pHead2 def length(node): if not node: return 0 return 1 + length(node.next) # 求出pHead1和Phead2的链表长度 a = length(head1) b = length(head2) # 求差值,然后将它们移到并行的位置 c = a - b while c > 0: head1 = head1.next c = c - 1 while c < 0: head2 = head2.next c = c + 1 # 同时开始移动,直到找到第一个公共结点 while head1 != head2: head1 = head1.next head2 = head2.next return head1#我的实习求职记录#