辣鸡题目,最后发现并没有头结点,注意快慢双指针法(还可用于判环)
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