'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀
문제 👉 <Reverse Linked List II - LeetCode>
1. 문제 (역순 연결리스트 II)
인덱스 left에서 right까지를 역순으로 만들어라.
인덱스 left은 1부터 시작한다.
2. 풀이
반복문
을 이용한 풀이
start = left - 1, end = left
left = 2, right = 4
s e s e s e
1->2->3->4->5 1->3->2->4->5 1->4->3->2->5
3. 코드
- 반복문을 이용한 풀이
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def reverseBetween(self, head: ListNode, left: int, right: int) -> ListNode:
if left == right : return head
root = start = ListNode(0)
root.next = head
for _ in range(left-1):
start = start.next
end = start.next
# s e s e s e
# 1->2->3->4->5 1->3->2->4->5 1->4->3->2->5
for _ in range(right-left):
temp, start.next, end.next = start.next, end.next, end.next.next
start.next.next = temp
return root.next
- 결과 :
방식 | Status | Runtime | Memory | Language |
---|---|---|---|---|
반복문 | [Accepted] | 28 ms | 14.1 MB | python3 |
몇번을 풀어도 어려운 문제 같다...
References
🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋
'Coding Test > LeetCode' 카테고리의 다른 글
[LeetCode] 206. Reverse Linked List [Python(파이썬)] (0) | 2021.11.23 |
---|---|
[LeetCode] 24. Swap Nodes in Pairs [Python(파이썬)] (0) | 2021.11.23 |
[LeetCode] 21. Merge Two Sorted Lists [Python(파이썬), JAVA(자바)] (0) | 2021.11.23 |
댓글