Leetcode Python - 206. Reverse Linked List

Leetcode #206 - Reverse Linked List

이제 blind 75 leetcode를 풀어보겠습니다. https://leetcode.com/discuss/interview-question/460599/Blind-75-LeetCode-Questions

리트코드의 문제 206 ‘Reverse Linked List’을 파이썬으로 풀어 보도록 하겠습니다. 포인트는 prev와 cur을 만들어서 reverse 되는 linked list를 만드는 것입니다.

전체 코드는 아래와 같습니다.

class Solution:
    def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
        prev = None
        
        while head:
            cur = head
            head = head.next
            cur.next = prev
            prev = cur
            
        return prev

시간복잡도는

  • O(n) : 한번의 while 문

공간복잡도는

  • O(1) : 상수 변수 prev, cur 생성