문제/릿코드
[릿코드/LeetCode] 206. Reverse Linked List (파이썬3/Python3)
개 살구
2021. 7. 18. 18:45
문제
https://leetcode.com/problems/reverse-linked-list/
Reverse Linked List - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
생각
우리가 얻을 수 있는 값을 순서대로 작성하면, 1, 2, 3, 4, 5, None. 이 순서로 값이 들어올 것이다.
그렇다면 이를 활용하여 1, 2-1, 3-2-1, 4-3-2-1, 5-4-3-2-1. 이렇게 만들면 될 것 같다!
출력은 이제 None이 들어오게되면 출력하면 될 듯?
새 리스트를 만들지 않고도 가능했었던 것 같은데 파이썬이라 헷갈린다...
코드
# 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: ListNode) -> ListNode:
def newList(Node, pre: ListNode = None):
if not Node:
return pre
Node.next, next = pre, Node.next
return newList(next, Node)
return newList(head)