Programming/leetcode

206. Reverse Linked List

홍열 2021. 2. 8. 16:15
728x90

연결 리스트 뒤집는 문제

 

1->2->3->4->5->None을 5->4->3->2->1->None으로 만드는 문제

result라는 변수를 두고, 그 앞에 계속해서 값을 추가해주면 된다. 

 

result, result.next, head = head, result, head.next <--------이 부분은 나눠쓰면 통과할 수 없다. 

나눠쓰게 되면 result와 head가 같은 값을 참조해버려서 정답이 되지 못한다. 

 

한번에 transcation으로 처리되도록 해야한다. 

    def reverseList(self, head: ListNode):
        result = None
        while head:
            result, result.next, head = head, result, head.next
        return result