力扣(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);
- }
- }
- }