Middle
Има дърво с интерфейса INode (value: number, left?: INode, right?: INode). Напишете функция, която обхожда дървото и връща сумата на всички стойности.
sobes.tech AI
Отговор от AI
Вот пример функции на TypeScript, которая рекурсивно обходит дерево с интерфейсом INode и возвращает сумму всех значений value:
interface INode {
value: number;
left?: INode;
right?: INode;
}
function sumTree(node?: INode): number {
if (!node) return 0;
return node.value + sumTree(node.left) + sumTree(node.right);
}
// Пример использования:
const tree: INode = {
value: 10,
left: { value: 5 },
right: { value: 15, left: { value: 3 } }
};
console.log(sumTree(tree)); // 33