小黑做法1
class Solution:
def middleNode(self, head: ListNode) -> ListNode:
arr = []
while head:
arr.append(head)
head = head.next
if len(arr) % 2:
index = int(len(arr) / 2)
else:
index = int((len(arr)+0.5)/2)
return arr[index]

小黑做法2
class Solution:
def middleNode(self, head: ListNode) -> ListNode:
length = 0
node = head
while node:
length += 1
node = node.next
node = head
for i in range(length//2):
node = node.next
return node

快慢指针法
class Solution:
def middleNode(self, head: ListNode) -> ListNode:
harry_node = head
slow_node = head
while harry_node and harry_node.next:
harry_node = harry_node.next.next
slow_node = slow_node.next
return slow_node

小黑生活
祝贺舍友论文发表
找工作,难难难!!小黑也要加油!!!