Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var findLargestLevel = function(node) {
- var levelSum = {};
- levelSum[0] = node.value;
- var levels = [1];
- var sumNodes = function(node, level) {
- for (var i = 0; i < node.children.length; i ++) {
- if (!levelSum[level]) {
- levelSum[level] = node.children[i].value;
- } else {
- levelSum[level] += node.children[i].value;
- }
- sumNodes(node.children[i], levels.push(levels[i])[levels.length-1]);
- }
- }
- sumNodes(node, levels[0]);
- var largestLevel = 0;
- for (var key in levelSum) {
- if (key === 'undefined') {
- levelSum[Object.keys(levelSum).length - 1] = levelSum[key];
- }
- if (levelSum[key] > largestLevel) {
- largestLevel = key;
- }
- }
- return largestLevel;
- };
- var t = {value: 2, children: [
- {value: 3, children: [
- {value: 2, children: []},
- {value: -7, children: []},
- ]},
- {value: -1, children: [
- {value: 5, children:[]},
- {value: 4, children: []}
- ]}
- ]};
- console.log(t);
- var x = findLargestLevel(t);
- console.log(x)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement