# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class LinkedList(object): def get_middle(self, head: ListNode) -> ListNode: fast = slow = head while fast and fast.next: slow = slow.next fast = fast.next.next return slow def reverse(self, head: ListNode) -> ListNode: prev, cur = None, head while cur: prev, cur.next, cur = cur, prev, cur.next return prev