N

(Leet Code JS)Swapping Nodes in a Linked List 본문

Leet Code 알고리즘

(Leet Code JS)Swapping Nodes in a Linked List

naeunchan 2022. 4. 4. 09:32
728x90
반응형

https://leetcode.com/problems/swapping-nodes-in-a-linked-list/

 

Swapping Nodes in a Linked List - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

연결 리스트.

 

앞에서 k번째에 있는 노드와 뒤에서 k 번째에 있는 노드를 서로 바꿔주면 된다.

array를 이용하여 문제 해결.

 

arr 배열 안에 head에 있는 노드를 모두 넣어준다.

이후 p1 = k - 1, p2 = arr.length - k로 저장하고 이 두 인덱스에 있는 노드를 구조분해 연산을 통해 바꿔서 head를 리턴하면 된다.

var swapNodes = function(head, k) {
    let current = head;
    let p1 = k - 1;
    let p2 = 0;
    const arr = [];
    
    while(current !== null){
        arr.push(current);
        current = current.next;
    }
    
    p2 = arr.length - k;
    
    [arr[p1].val, arr[p2].val] = [arr[p2].val, arr[p1].val];
    
    return head;
};
728x90
반응형