JSFiddle - React, Tailwind, and code Playground
by Diana Lemen
JavaScript
let item = {
value: 12,
right: {
value: 13,
right: {
value: 16,
right: { value: 13, right: null, left: null },
left: null
},
left: null
},
left: {
value: 14,
right: { value: 15, right: null, left: null },
left: { value: 17, right: null, left: null }
},
}
function goThrough(el, acc, i) {
if(!el) return;
acc[i] = acc[i] ? acc[i] + el.value : el.value;
goThrough(el.right, acc, i++);
goThrough(el.left, acc, i++);
return;
}
const getSum = () => {
const acc = {};
goThrough(item, acc, 0);
return acc;
}
console.log(getSum());