본문 바로가기

알고리즘/Leetcode

[Python] 206. 링크드 리스트 거꾸로 만들기

반응형
class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        if not head: return None
        stk = []
        while head != None:
            stk.append(head.val)
            head = head.next
        new_head = ListNode()
        cur = new_head
        while stk:
            cur.val = stk.pop()
            if stk:
                cur.next = ListNode()
                cur = cur.next
        return new_head

스택을 이용하는 방법이다.

스택에 값을 하나씩 넣고 빼게 되면 가장 나중 것이 처음에 빠지는 원리는 이용하였다.

 

다음에는 재귀로 풀 수 있는 방법을 고민해봐야겠다.

'알고리즘 > Leetcode' 카테고리의 다른 글

[Python] 226. 트리 데칼코마니  (0) 2020.11.23