# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if not head:
return head
else:
'''
p = head
q = head.next
p.next = None
n=0
while q:
r = q.next
q.next = p
p = q
q = r
return p
'''
l = []
while head != None:
l.append(head.val)
head = head.next
l.reverse()
res = ListNode(l[0])
r = res
for i in range(1,len(l)):
res1 = ListNode(l[i])
res.next = res1
res = res.next
return r