Journal Archive

var removeNthFromEnd = function(head, n) {
    let nodes = [];
    let current = head;
    let length = 0;
    while(current !== null) {
        nodes.push(current);
        current = current.next;
        length++;
    }
    if (length === 1) return null;
    let position = length - n;
    if (position === 0) {
        return nodes[1];
    } else if (position === length - 1) {
        nodes[length - 2].next = null
    } else {
        nodes[position - 1].next = nodes[position + 1]
    }
    return nodes[0]
};

Day 13: Solving one of LeetCode problems

19. Remove Nth Node From End of List Difficulty - Medium

Given the head of a linked list, remove the nth node from the end of the list and return its head.
Example 1:


Input: head = [1,2,3,4,5], n = 2
Output: [1,2,3,5]