Sum Root to Leaf Numbers
2014-04-07 23:22
225 查看
Given a binary tree containing digits from
An example is the root-to-leaf path
Find the total sum of all root-to-leaf numbers.
For example,
The root-to-leaf path
The root-to-leaf path
Return the sum = 12 + 13 =
思路:这道题使用递归。这道题思路比较明确,目标是把从根到叶子节点的所有路径得到的整数累加起来,递归条件即是把当前的sum*10加上当前结点的值传入函数,进行递归,最终把左右子树的总和相加。结束条件就是如果一个结点是叶子结点,那么我们应该累加到结果总和中。
0-9only, each root-to-leaf path could represent a number.
An example is the root-to-leaf path
1->2->3which represents the number
123.
Find the total sum of all root-to-leaf numbers.
For example,
1 / \ 2 3
The root-to-leaf path
1->2represents the number
12.
The root-to-leaf path
1->3represents the number
13.
Return the sum = 12 + 13 =
25.
思路:这道题使用递归。这道题思路比较明确,目标是把从根到叶子节点的所有路径得到的整数累加起来,递归条件即是把当前的sum*10加上当前结点的值传入函数,进行递归,最终把左右子树的总和相加。结束条件就是如果一个结点是叶子结点,那么我们应该累加到结果总和中。
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: int sumPath(TreeNode *root,int sum) { if(root==NULL) return 0; sum=sum*10+root->val; if(root->left==NULL&&root->right==NULL) { return sum; } if(root->left==NULL) return sumPath(root->right,sum); if(root->right==NULL) return sumPath(root->left,sum); return sumPath(root->left,sum)+sumPath(root->right,sum); } int sumNumbers(TreeNode *root) { int sum=0; return sumPath(root,sum); } };
相关文章推荐
- leetcode 129:Sum Root to Leaf Numbers
- Sum Root to Leaf Numbers
- Sum Root to Leaf Numbers
- 129. Sum Root to Leaf Numbers
- 【sum-root-to-leaf-numbers】
- LeetCode 129 Sum Root to Leaf Numbers(递归求和)
- Sum Root to Leaf Numbers
- LeetCode129 Sum Root to Leaf Numbers
- Leetcode_sum-root-to-leaf-numbers
- leetcode 129 Sum Root to Leaf Numbers
- leetcode Sum Root to Leaf Numbers
- LeetCode——Sum Root to Leaf Numbers
- leetcode:Sum Root to Leaf Numbers
- 算法作业HW12:Leetcode94 Sum Root to Leaf Numbers
- Leetcode: Sum Root to Leaf Numbers
- LeetCode_129 Sum Root to Leaf Numbers
- [Leetcode]Sum Root to Leaf Numbers
- LeetCode OJ:Sum Root to Leaf Numbers
- [LeetCode]Sum Root to Leaf Numbers
- Sum Root to Leaf Numbers