Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Preorder traversal
- The idea is to do a preorder traversal of the tree.
- In the preorder traversal, keep track of the value calculated till the current node, let this value be val.
- For every node, we update the val as val10 plus node’s data.
- */
- var sumNumberUtil = function(node, val) {
- if (!node) {
- return 0;
- }
- else {
- val = val * 10 + node.val;
- if (!node.left && !node.right)
- {
- return val;
- }
- else {
- return sumNumberUtil(node.left, val) + sumNumberUtil(node.right, val);
- }
- }
- }
- /**
- * Definition for a binary tree node.
- * function TreeNode(val) {
- * this.val = val;
- * this.left = this.right = null;
- * }
- */
- /**
- * @param {TreeNode} root
- * @return {number}
- */
- var sumNumbers = function(root) {
- return sumNumberUtil(root, 0);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement