Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. var findLargestLevel = function(node) {
  2. var levelSum = {};
  3. levelSum[0] = node.value;
  4. var levels = [1];
  5.  
  6. var sumNodes = function(node, level) {
  7. for (var i = 0; i < node.children.length; i ++) {
  8. if (!levelSum[level]) {
  9. levelSum[level] = node.children[i].value;
  10. } else {
  11. levelSum[level] += node.children[i].value;
  12. }
  13. sumNodes(node.children[i], levels.push(levels[i])[levels.length-1]);
  14. }
  15. }
  16. sumNodes(node, levels[0]);
  17.  
  18. var largestLevel = 0;
  19. for (var key in levelSum) {
  20. if (key === 'undefined') {
  21. levelSum[Object.keys(levelSum).length - 1] = levelSum[key];
  22. }
  23. if (levelSum[key] > largestLevel) {
  24. largestLevel = key;
  25. }
  26. }
  27. return largestLevel;
  28. };
  29.  
  30. var t = {value: 2, children: [
  31. {value: 3, children: [
  32. {value: 2, children: []},
  33. {value: -7, children: []},
  34. ]},
  35. {value: -1, children: [
  36. {value: 5, children:[]},
  37. {value: 4, children: []}
  38. ]}
  39. ]};
  40.  
  41. console.log(t);
  42. var x = findLargestLevel(t);
  43. console.log(x)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement