- Reference
- ์ฌ๊ท ๋ฐฉ์์ด ์กฐ๊ธ ๋ ๋๋ฆผ
- Runtime
42 ms
- Beats
39.11%
- ์๊ฐ๋ณต์ก๋: $O(N)$
Solution
# Definition for singly-linked list.
from typing import Optional
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
# ํ์ด์ฌ์์ ๋ค์ง๋ ๊ฑด ๊ทธ๋ฅ ๋์ง๋ง, ์๋ฐ์์๋ ์ด๋ ๊ฒ ๋ค์ง์์์ง!
# next -> prev -> current
while curr:
tmp = curr.next
curr.next = prev
prev = curr
curr = tmp
return prev
# ์ฌ๊ท ๋ฐฉ์
# if not head:
# return None
#
# new_head = head
# if head.next:
# new_head = self.reverseList(head.next)
# head.next.next = head
# head.next = None
#
# return new_head
Leave a comment