Связанный список JavaScript: вставка узла в начало | Решения ХакерРанк

Чтобы вставить узел в начало связанного списка в JavaScript для проблемы HackerRank, вы можете использовать несколько методов. Вот несколько подходов:

Метод 1: создание нового узла и обновление ссылки на заголовок

function insertNodeAtHead(head, data) {
  const newNode = new SinglyLinkedListNode(data);
  newNode.next = head;
  return newNode;
}

Метод 2. Изменение существующего головного узла

function insertNodeAtHead(head, data) {
  if (head === null) {
    head = new SinglyLinkedListNode(data);
  } else {
    const newNode = new SinglyLinkedListNode(data);
    newNode.next = head;
    head = newNode;
  }
  return head;
}

Метод 3. Использование синтаксиса класса ES6

class Node {
  constructor(data) {
    this.data = data;
    this.next = null;
  }
}
function insertNodeAtHead(head, data) {
  const newNode = new Node(data);
  newNode.next = head;
  return newNode;
}

Метод 4. Использование рекурсии

function insertNodeAtHead(head, data) {
  if (head === null) {
    return new SinglyLinkedListNode(data);
  }
  const newNode = new SinglyLinkedListNode(data);
  newNode.next = insertNodeAtHead(head.next, data);
  return newNode;
}

Метод 5. Изменение головы без создания нового узла

function insertNodeAtHead(head, data) {
  const newHead = new SinglyLinkedListNode(data);
  newHead.next = head;
  return newHead;
}