Sum Root to Leaf Numbers
2015-04-01 13:58 笨笨的老兔子 阅读(169) 评论(0) 编辑 收藏 举报一个二叉树从根到叶子组成一个数字,求所有数字的和
例子:
1
/ \
2 3
有两个数字,12和13,和即25
用递归方法,每到叶子节点即返回,逐层将结果返回即可
class Solution {
public:
int sumNumbers(TreeNode *root) {
int sum = 0;
sum = sumTree(root,sum);
return sum;
}
int sumTree(TreeNode* node, int sum)
{
if (node==NULL)
return 0;
sum = node->val + sum * 10;
if (!node->left && !node->right)
{
return sum;
}
int x = sumTree(node->left, sum);
x += sumTree(node->right, sum);
return x;
}
};