描述
求根节点到每个叶子节点所组成的数的和
解决
递归
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int sumNumbers(TreeNode* root) {
if (root == NULL)
return 0;
return help(root,0);
}
int help(TreeNode *tmp, int sum)
{
if (tmp == NULL)
return 0;
if (tmp -> left == NULL && tmp -> right == NULL)
return sum * 10 + tmp -> val;
return help(tmp -> right ?tmp -> right : NULL, sum * 10 + tmp -> val) + help(tmp -> left ? tmp -> left : NULL, sum * 10 + tmp -> val);;
}
};