[JavaScript] 리트코드 - #25 Reverse Nodes in k-Group (Hard)

배똥회장·2022년 12월 13일
0

📝 문제

리트코드 - #25 Reverse Nodes in k-Group (Hard)


📝 답안

📌 작성 코드

var reverseKGroup = function(head, k) {
    let list = new Array();
    
    while (head !== null) {
        list.push(head.val);
        head = head.next;
    }

    if (list.length === 0) return null;

    for (let i = 0; i < list.length; i += k) {
        let temp = list.slice(i, i+k);
        if (temp.length < k) continue;
        for (let j = 0; j < k; j++) {
            list[i+j] = temp[k-j-1];
        }
    }

    let result = new ListNode(list.pop());
    while (list.length > 0) {
        result = new ListNode(list.pop(), result);
    }

    return result;
};

📌 결과


📌 새로 알게 된 것

slice()와 splice()의 차이를 알게 됨

slice()는 새로운 배열을 만들어서 잘라낸 것을 리턴하는 반면, splice()는 배열에서 삭제하면서 리턴함

profile
어쩌면 개발자

0개의 댓글