#递归解法

# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param head ListNode类 
# @return ListNode类
#
class Solution:
    def ReverseList(self , head: ListNode) -> ListNode:
        # write code here
        if head is None or head.next is None:
            return head
        pre = None # 必须是pre = None,否则为死循环
        cur = head
        while cur:
            tep = cur.next
            cur.next = pre
            pre,cur = cur,tep
        return pre