학교 졸업식이다!
히히 학교가 꽃밭이 되었다. 예쁘다!
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode reverse(ListNode start, ListNode end){
ListNode prev = null, curr = start;
while (curr != end ) {
ListNode next = curr.next;
curr.next = prev;
prev = curr;
curr = next;
}
return prev;
}
public ListNode reverseKGroup(ListNode head, int k) {
int count = 0;
ListNode temp = head;
while(temp != null && count < k){
temp = temp.next;
count++;
}
if (count < k) return head;
ListNode newHead = reverse(head, temp);
head.next = reverseKGroup(temp, k);
return newHead;
}
}
마음이 너무 급한 나머지.. 답을 봐버렸다...
재귀 방식으로 해결하는데 재귀가 아닌 방법으로 해결한 답도 확인할 수 있었다.
그런데 확실히 리스트 노드를 역순으로 정렬하는 방법이 어려운 것 같다...
언제 한번 다시 풀러 와야겠다...
'공부용 > 연습장' 카테고리의 다른 글
[리트코드]20일차 (0) | 2025.02.28 |
---|---|
리트코드 19일차 (0) | 2025.02.27 |
[리트코드] 18일차 (0) | 2025.02.24 |
[리트코드] 17일차 (0) | 2025.02.23 |
[리트코드] 16일차 (0) | 2025.02.21 |