如牛客官方正规解法思路:
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