【LeetCode每日一题】[中等]129. 求根到叶子节点数字之和
129. 求根到叶子节点数字之和
题目来源
算法思想:树
题目:
思路: 递归,深度优先遍历
java代码
class Solution {
private int sum;//总和
public int sumNumbers(TreeNode root) {
dfs(root, 0);//递归
return sum;
}
private void dfs(TreeNode root, int num) {
if (root == null) {//如果是空,则返回
return;
}
int tmp = num * 10 + root.val;//当前节点进行,叠加计算
dfs(root.left, tmp);//将叠加值进行左子树递归
dfs(root.right, tmp);//将叠加值进行右子树递归
if (root.left == null && root.right == null) {//如果是叶子节点,将叠加值保存起来
sum += tmp;
}
}
}