LeetCode 129 求根到叶子节点数字之和
LeetCode 129 求根到叶子节点数字之和
问题描述:
给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。
例如,从根到叶子节点路径 1->2->3 代表数字 123。
计算从根到叶子节点生成的所有数字之和。
说明: 叶子节点是指没有子节点的节点。
递归
执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:36 MB, 在所有 Java 提交中击败了93.98%的用户
class Solution {
private int sum = 0;
public int sumNumbers(TreeNode root) {
if(root==null) {
return 0;
}
//递归
sumNumbers(root, 0);
return sum;
}
public void sumNumbers(TreeNode root, int lastSum) {
//非叶子节点
if(root==null) {
return;
}
//叶子节点
else if(root!=null && root.left==null && root.right==null) {
sum += lastSum*10 + root.val;
}
else {
lastSum = lastSum*10 + root.val;
sumNumbers(root.left, lastSum);
sumNumbers(root.right, lastSum);
}
return;
}
}