如牛客官方正规解法思路:
1 声明三个变量,一个用来作为游标cur,一个用来存储下一个元素nex,一个用来表示新链表的头节点pre=None。
2 轮询待反转的链表,先保存下一个元素;然后反转当前元素;最后移动至下一个需要反转的元素

# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:
    # 返回ListNode
    def ReverseList(self, pHead):
        nex = None
        pre = None
        cur = pHead
        while cur:
            #保存当前游标的下一个元素
            nex = cur.next

            #反转当前元素
            cur.next = pre

            #轮询下一个元素
            pre = cur
            cur = nex
        return pre