/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
class Solution {
public:
/**
*
* @param root TreeNode类
* @return int整型
*/
int sumNumbers(TreeNode* root, int val = 0) {
if (!root) return 0;
val = val * 10 + root->val;
if (!root->left && !root->right) {
return val;
}
return sumNumbers(root->left, val) + sumNumbers(root->right, val);
}
};
思路:递归。
将到当前节点为止累积的数作为参数val传递下去,直到达到叶子节点时,返回该val。

京公网安备 11010502036488号