Дано дерево следующего формата:
const tree = {
type: "nested",
children: [
{ type: "added", value: 42 },
{
type: "nested",
children: [{ type: "added", value: 43 }],
},
{ type: "added", value: 44 },
],
};
Нужно написать функцию getNodes(tree, type), которая возвращает все узлы указанного типа в исходном порядке обхода (DFS). Глубина вложенности может быть любой.
Рекурсивно обходите дерево: если node.type === type — добавляем в результат. Затем проходим по node.children (если есть) и рекурсивно обходим каждого потомка. Итого: DFS, pre-order обход.