求根到叶子节点数字之和
思路: 1.递归思想
2.明确当到达叶子节点时,将前面的数*10+root.val
3.然后递归遍历左子树、右子树,然后进行求和。
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.left==null&&root.right==null){
return root.val+presum*10;
}
int lsum=0,rsum=0;
if(root.left!=null){
lsum=dfs(root.left,root.val+presum*10);
}
if(root.right!=null){
rsum=dfs(root.right,root.val+presum*10);
}
return lsum+rsum;
}
}