您的位置:首页 > 其它

Sum Root to Leaf Numbers

2013-05-22 09:49 316 查看
Given a binary tree containing digits from
0-9
only,
each root-to-leaf path could represent a number.

An example is the root-to-leaf path
1->2->3
which
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->2
represents
the number
12
.

The root-to-leaf path
1->3
represents
the number
13
.

Return the sum = 12 + 13 =
25
.

基本题:

int sumNumbers(TreeNode* root)
{
int total=0;
calSum(root,total,0);
return total;
}
void calSum(TreeNode* root,int& tot,int cur)
{
if (!root)
return;
cur=cur*10+root->val;
if (!root->left&&!root->right)
{
tot+=cur;
return;
}
if(root->left)
calSum(root->left,tot,cur);
if(root->right)
calSum(root->right,tot,cur);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: