|Árbol desde array planoMaster
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 20:00

info

Importante: Para que se registre el resultado tienes que iniciar sesión.

Árbol desde array plano

Master375 pts·Algoritmos

Enunciado

Árbol desde array plano

Dado un array de nodos con estructura plana, construye un árbol jerárquico donde cada nodo tenga un campo children con sus hijos directos.

Estructura de cada nodo de entrada

{
  id: number;
  parentId: number | null;
  name: string;
}

El nodo raíz tiene parentId: null. El resto de los nodos apuntan a su padre mediante parentId.

Estructura de cada nodo de salida

{
  id: number;
  parentId: number | null;
  name: string;
  children: TreeNode[];  // hijos ordenados por id ascendente
}

Ejemplo

Entrada:

[
  { id: 1, parentId: null, name: "raiz" },
  { id: 2, parentId: 1,    name: "hijo1" },
  { id: 3, parentId: 1,    name: "hijo2" }
]

Salida:

[
  {
    id: 1, parentId: null, name: "raiz",
    children: [
      { id: 2, parentId: 1, name: "hijo1", children: [] },
      { id: 3, parentId: 1, name: "hijo2", children: [] }
    ]
  }
]

Notas

  • Devuelve un array con los nodos raíz (aquellos con parentId: null).
  • Los children de cada nodo deben estar ordenados por id ascendente.
  • Si el array de entrada está vacío, devuelve [].
  • Puedes asumir que no hay ciclos en la estructura de datos.
Restriccionesexpand_more
  • Dificultad: Master
  • Completa todos los test cases para obtener los 375 puntos.
  • No modificar la línea export al final del archivo.
  • Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.

Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.

Inicia sesión para reaccionar
Inicia sesión para reaccionar
7 soluciones · 88% aceptación