본문 바로가기

카테고리 없음

릿코드206 Reversed Linked List

class Solution:
    def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
        if not head : 
            return
        cur = head
        n1 = ListNode()
        while cur :
            n2 = ListNode()
            n1.val = cur.val
            n2.next = n1
            
            cur = cur.next
            if not cur : return n1
            else : n1 = n2
            
        return n2

사실 실행할때마다 너무 크게 달라져서 Runtime은 의미가 없지만.. 시간복잡도를 n으로 했다는 것에 의미를 둬야겠다. 딱 한번만 리스트를 순회하며 역순의 리스트를 만들어 head를 리턴한다.