辣雞題目,最後發現並沒有頭結點,注意快慢雙指針法(還可用於判環)
def middleNode(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
L = 0
p = head
while(p):
L += 1
p = p.next
p = head
for i in range(L//2):
p = p.next
return p
# version2:
# def middleNode(self, head):
# slow = fast = head # 初始化兩個指針
# while fast and fast.next:
# slow = slow.next # 走一步
# fast = fast.next.next # 走兩步
# return slow