36.两个链表的第一个公共结点(python)
生活随笔
收集整理的這篇文章主要介紹了
36.两个链表的第一个公共结点(python)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
輸入兩個鏈表,找出它們的第一個公共結點。
class Solution:
def FindFirstCommonNode(self, pHead1, pHead2):
# write code here
if pHead1==pHead2:
return pHead1
p1 = pHead1
p2 = pHead2
flag=1
while p1 and p2 !=None:
p1 = p1.next
p2 = p2.next
if p1 == None:
flag=2
p1 = p2
k=0
while p1: #計算兩個鏈表的長度差
k+=1
p1=p1.next
if flag==1: #flag記錄長的那個鏈表
while k>0:
pHead1=pHead1.next
k-=1 #先走k步
else:
while k >0:
pHead2=pHead2.next
k-=1
while pHead1 and pHead2:
if pHead1==pHead2:
return pHead1
pHead1=pHead1.next
pHead2=pHead2.next
return None
2019-12-25 10:39:02
總結
以上是生活随笔為你收集整理的36.两个链表的第一个公共结点(python)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NOIp2020游记
- 下一篇: python制作定时发送信息脚本