Поиск белок на дереве (Find Squirrels in Tree)
2
Деревья
Условие:
На дереве в виде узлов сидят разные животные (белки и вороны). Каждый узел дерева содержит тип животного и его имя, а также список дочерних узлов (веток с животными). Реализуйте функцию, которая обходит дерево и возвращает имена всех белок в порядке обхода в глубину (preorder).
Входные данные:
Корень дерева — объект вида { type: "squirrel" | "crow", name: string, children: [...] }. children — массив таких же объектов (может быть пустым или отсутствовать).
Выходные данные:
Массив строк — имена всех животных с типом "squirrel", в порядке DFS-обхода.
Ограничения:
Глубина дерева до 100
Количество узлов до 1000
Тип животного — только
"squirrel"или"crow"
Пример:
Вход: {
type: "crow", name: "Grayfeather",
children: [
{ type: "squirrel", name: "Acorn", children: [
{ type: "squirrel", name: "Sirsalty" }
]},
{ type: "crow", name: "Blackwing", children: [
{ type: "squirrel", name: "Macadamia" },
{ type: "squirrel", name: "Kernel" }
]}
]
}
Выход: ["Acorn", "Sirsalty", "Macadamia", "Kernel"]Loading...