题目
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/86cf6a03d59b003d7dca9b9eca9efd11.png)
Leetcode 129. 求根节点到叶节点数字之和
代码(首刷自解)
class Solution {
public:
int res;
int sumNumbers(TreeNode* root) {
if(!root)
return 0;
dfs(root, root->val);
return res;
}
void dfs(TreeNode* root, int sum) {
if(!root->left && !root->right) {
res += sum;
return;
}
if(root->left) {
dfs(root->left, sum*10+root->left->val);
}
if(root->right) {
dfs(root->right, sum*10+root->right->val);
}
}
};
代码(9.19 二刷自解)
class Solution {
public:
int res;
int sumNumbers(TreeNode* root) {
dfs(root, 0);
return res;
}
void dfs(TreeNode* root, int sum) {
if(!root->left && !root->right) {
res += sum*10+root->val;
return;
}
if(root->left)
dfs(root->left, sum*10+root->val);
if(root->right)
dfs(root->right, sum*10+root->val);
}
};