class Node:
def __init__(self, x):
self.val = x
self.next = None
def reverseList(head):
prev = None
while head:
curr = head
head = head.next
curr.next = prev
prev = curr
return prev
if __name__ == '__main__':
l1 = Node(1)
l1.next = Node(2)
l1.next.next = Node(3)
l1.next.next.next = Node(4)
print(l1.val, l1.next.val, l1.next.next.val, l1.next.next.next.val)
l = reverseList(l1)
print(l.val, l.next.val, l.next.next.val, l.next.next.next.val)
1 2 3 4
4 3 2 1