Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. /* Preorder traversal
  2. The idea is to do a preorder traversal of the tree.
  3. In the preorder traversal, keep track of the value calculated till the current node, let this value be val.
  4. For every node, we update the val as val10 plus node’s data.
  5. */
  6. var sumNumberUtil = function(node, val) {
  7. if (!node) {
  8. return 0;
  9. }
  10. else {
  11. val = val * 10 + node.val;
  12.  
  13. if (!node.left && !node.right)
  14. {
  15. return val;
  16. }
  17. else {
  18. return sumNumberUtil(node.left, val) + sumNumberUtil(node.right, val);
  19. }
  20. }
  21. }
  22.  
  23. /**
  24. * Definition for a binary tree node.
  25. * function TreeNode(val) {
  26. * this.val = val;
  27. * this.left = this.right = null;
  28. * }
  29. */
  30. /**
  31. * @param {TreeNode} root
  32. * @return {number}
  33. */
  34. var sumNumbers = function(root) {
  35. return sumNumberUtil(root, 0);
  36. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement