leetcode(리트코드)-25 Reverse Nodes in k Group(PYTHON)
leetcode(리트코드)-25 Reverse Nodes in k Group(PYTHON)
leetcode 25 - Reverse Nodes in k Group 문제입니다.
1. 문제
https://leetcode.com/problems/reverse-nodes-in-k-group/
2. Input , Output
3. 분류 및 난이도
Hard 난이도 문제입니다.
4. 문제 해석
- head와 k가 주어집니다.
- k만큼 그룹을 묶고 그 그룹에 해당하는 값들의 순서를 바꿔버립니다.
5. code
코드설명
python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def reverseKGroup(self, head: ListNode, k: int) -> ListNode:
#list에 넣고 돌리자.
if k == 1 :
return head
node = ListNode()
dq = []
res = []
while head :
dq.append(head.val)
head = head.next
idx = 0
while idx+k <= len(dq) :
temp = dq[idx:idx+ k]
temp.reverse()
res += temp
idx = idx + k
res += dq[idx:]
temp = node
for i in range(len(res)):
temp.next = ListNode(res[i])
temp = temp.next
return node.next
6. 결과 및 후기, 개선점
필요시 c++로 짜드립니다.
설명이 필요하다면 댓글을 달아주세요.
This post is licensed under CC BY 4.0 by the author.