onlybooks / python-algorithm-interview

<파이썬 알고리즘 인터뷰> 95가지 알고리즘 문제 풀이로 완성하는 코딩 테스트
1.21k stars 325 forks source link

P.230 Q17 풀이 질문드립니다. #141

Open Taemin90 opened 2 years ago

Taemin90 commented 2 years ago

제가 푼 부분은 아래와 같습니다. 즉 임시 변수(객체)인 temp를 사용하여 풀었습니다. temp = cur.next cur.next = cur.next.next temp.next = cur

def algorithm(head):
    prev = ListNode(0, head)
    cur = head
    if head and head.next:
        head = head.next

    while cur and cur.next:
        prev.next = cur.next
        prev = cur
        temp = cur.next
        cur.next = cur.next.next
        temp.next = cur
        cur = cur.next
    return head

그런데 multiple assignment로 위에 두꺼운 부분을 아래와 같이 한 문장으로 줄이고자 하면 무한루프에 빠지게 됩니다. cur.next, cur.next.next = cur.next.next, cur 제가 multiple assignment를 잘못 이해하고 있는건지.. 도저히 모르겠습니다.