python3:
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
# ******* 使用了一个tem中间变量,注意与下面直接连续赋值的对比
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
curr, prev = head, None
tem = None
while curr:
tem = curr.next
curr.next = prev
prev = curr
curr = tem
return prev
# ****** 一个等号左右同时有好几个变量赋值,会创建一个临时的tuple对象
# class Solution:
# def reverseList(self, head: ListNode) ->ListNode:
# curr, prev = head, None
# while curr:
# curr.next, prev, curr = prev, curr, curr.next
# return prev