리트코드 92번 Reverse Linked List (Python)

Kim Yongbin·2023년 9월 14일
0

코딩테스트

목록 보기
65/162

Problem

https://leetcode.com/problems/reverse-linked-list-ii/description/

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

    def __str__(self):
        return f"{self.val} "

class Solution:
    def reverseBetween(self, head: Optional[ListNode], left: int, right: int) -> Optional[ListNode]:
        root = start = ListNode()
        root.next = head

        for _ in range(left-1):
            start = start.next
        end = start.next

        for _ in range(right - left):
            tmp = start.next
            start.next = end.next
            end.next = end.next.next
            start.next.next = tmp
        return root.next

Reference

파이썬 알고리즘 인터뷰 19번

profile
반박 시 여러분의 말이 맞습니다.

0개의 댓글