class Solution:

    def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:

        if head == None: return None

        cur = head

        nxt = []

        while cur.next != None:

            nxt.append((cur.next, cur))

            cur = cur.next

        for n, c in nxt:

            n.next = c

        head.next = None

        return nxt[-1][0] if nxt else head


메모리를 팍팍! 써서 풀었음. 이렇게 안 해도 한번에 할 수 있을거 같긴 한데..