力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
给你一个二叉树的根节点
root
,树中每个节点都存放有一个0
到9
之间的数字。每条从根节点到叶节点的路径都代表一个数字:
- 例如,从根节点到叶子节点的路径
1 -> 2 -> 3
表示数字123
。计算从根节点到叶节点生成的 所有数字之和 。
题解:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
代码如下:
class Solution {
public int sumNumbers(TreeNode root) {
if(root == null){
return 0;
}
return dfs(root, 0);
}
public int dfs(TreeNode root, int preSum) {
if(root == null) {
return 0;
}
int sum = preSum * 10 + root.val;
if(root.left == null && root.right == null) {
return sum;
}
else {
return dfs(root.left, sum) + dfs(root.right, sum);
}
}
}