leetcode_middle_69_129. Sum Root to Leaf Numbers

题意:

一个只包含0-9的二叉树,如果从根节点到叶子结点的路径上的所有数字(每个结点的数字代表数字的一位)代表一个数字,求这棵树所有数字的和。


分析:

直接深搜就可以了:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public int sumNumbers(TreeNode root) {
        return helper(root, 0);
    }
    
    public int helper(TreeNode root, int sum){
        if (root == null) 
            return 0;
        if (root.right == null && root.left == null) 
            return sum*10 + root.val;
        return helper(root.left, sum*10 + root.val) + helper(root.right, sum*10 + root.val);
    }
}




你可能感兴趣的:(leetcode)