How does the multiple assignment from in this case in python?

64 views Asked by At

The below code is for revsesing a linked list given the head of the list

class Solution:
        def reverseList(self, head: ListNode) -> ListNode:

            if head is None or head.next is None:
                return head

            prev = None
            curr = head

            while curr:
                curr.next, prev, curr = prev, curr, curr.next

            return prev

How are we able to assign curr = curr.next(third assignment), when curr.next was assigned prev in the beginning?

Usually, a temp variable is used to store the value of curr.next, how are we bypassing that here?

0

There are 0 answers