0%

sum-root-to-leaf-numbers

题目描述

给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。

题解

1
2
3
4
5
6
7
8
9
10
11
int helper(TreeNode* root, int i)
{
if (!root)return 0;
int tmp = i * 10 + root->val;
if (!root->left && !root->right)
return tmp;
return helper(root->left, tmp) + helper(root->right, tmp);
}
int sumNumbers(TreeNode* root) {
return helper(root, 0);
}

我这是怎么了啊……