Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL
https://leetcode.com/problems/reverse-linked-list/
Я построил два указателя.сегодняшний день и пред.Я поменял их местами в итерации.Но я не могу понять, почему cur.next должен быть поставлен в конце.Основываясь на моем понимании, python swap создаст временный кортеж.a, b, c = b, c, a вернет тот же результат, что и b, a, c = c, b, a. Но в этом вопросе, если я использую cur, prev, cur.next = cur.next, cur,пред.он вернет ошибку.кто-нибудь может это объяснить?Спасибо!
# this can work
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
cur, prev = head, None
while cur:
prev, cur.next, cur = cur, prev, cur.next
return prev
# these two cannot work:
# cur, cur.next,prev = cur.next, prev, cur
# cur, prev, cur.next = cur.next, cur, prev
AttributeError: 'NoneType' object has no attribute 'next'
Line 18 in reverseList (Solution.py)
Line 59 in main (Solution.py)
Line 67 in <module> (Solution.py)