Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. var findLargestLev = function(node) {
  2. // your code here
  3. var levelCnt = 0;
  4. var levelCounter = {};
  5. var nextLeftNode;
  6. var nextRightNode;
  7.  
  8. var findLevelSum = function (nodeLeft, nodeRight) {
  9. levelCnt++;
  10. var levelSum = 0;
  11. if(nodeLeft !== undefined) {
  12. levelSum+=nodeLeft.data
  13. }
  14. if(nodeRight !== undefined) {
  15. levelSum+=nodeRight.data
  16. }
  17. levelCounter[levelCnt] = levelSum;
  18.  
  19. if(nodeLeft.left !== undefined){
  20. nextLeftNode = nodeLeft.left
  21. } else {
  22. nextLeftNode = undefined
  23. }
  24. if(nodeLeft.right !== undefined){
  25. nextLeftNode = nodeLeft.left
  26. } else {
  27. nextLeftNode = undefined
  28. }
  29. }
  30.  
  31. if(levelCnt === 0) {
  32. findLevelSum(node);
  33. }
  34.  
  35. if(nextLeftNode === undefined && node.right === undefined) {
  36. return levelCounter
  37. } else if (node.left !== undefined && node.right !== undefined) {
  38. findLevelSum(node.left, node.right)
  39. } else if (node.left !== undefined && node.right === undefined) {
  40. findLevelSum(node.left, undefined)
  41. } else if (node.left === undefined && node.right !== undefined) {
  42. findLevelSum(undefined, node.right)
  43. }
  44.  
  45. var levelTotals = Object.values(levelCounter);
  46. var levels = Object.keys(levelCounter);
  47. var largestLevelSum = levelTotals[0]
  48. var largestLevel = levels[0]
  49. for (var i = 0; i < levelTotals.length; i ++) {
  50. if (levelTotals[i] > largestLevelSum) {
  51. largestLevelSum = levelTotals[i]
  52. largestLevel = levels[i]
  53. }
  54. }
  55. return Number(largestLevel);
  56.  
  57. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement