# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
# 원본 1->2->3->None
# 역순 None
# 원본 2->3->None
# 역순 1->None
# 원본 3->None
# 역순 2->1->None
# 원본 None
# 역순 3->2->1->None
# 연결리스트의 갯수만큼 반복문 시행
# 어차피 마지막은 None 이여야 하니 None 으로 초기화 시켜놓은 다음
# 원본의 복사본에 맨 앞 노드 다음 노드를 기존 rev 로 대체한 다음
# rev 를 넣은 복사본을 rev 에 다시 넣음
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
rev = None
while head:
temp = head
head = head.next
temp.next = rev
rev = temp
return rev