From e1695d708e61bd790e1cfa6c927a7967afaf29a7 Mon Sep 17 00:00:00 2001 From: jimin Date: Fri, 5 Sep 2025 23:58:32 +0900 Subject: [PATCH] solution: reverse-linked-list --- reverse-linked-list/wozlsla.py | 49 ++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 reverse-linked-list/wozlsla.py diff --git a/reverse-linked-list/wozlsla.py b/reverse-linked-list/wozlsla.py new file mode 100644 index 000000000..b4112aaf0 --- /dev/null +++ b/reverse-linked-list/wozlsla.py @@ -0,0 +1,49 @@ +""" +# Complexity +time : O(N) +space : O(1) / O(N) +""" + +# Definition for singly-linked list. +# class ListNode: +# def __init__(self, val=0, next=None): +# self.val = val +# self.next = next + + +class Solution: + def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]: + + prev = None + curr = head + + while curr: + nxt = curr.next + curr.next = prev + prev = curr + curr = nxt + + return prev + + +""" Stack +class Solution: + def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]: + + stack = [] + node = head + + while node: + stack.append(node) + node = node.next + + dummy = ListNode(-1) + node = dummy + + while stack: + node.next = stack.pop() + node = node.next + + node.next = None + return dummy.next +"""