每日一题 7(二叉树)

原题入口
计算二叉树的叶子节点之和

样例
样例 1:

输入:{1,2,3,4}
输出:7
解释:
1
/
2 3
/
4
3+4=7
样例 2:

输入:{1,#,3}
输出:3
解释:
1

3

/**
 * Definition of TreeNode:
 * public class TreeNode {
 *     public int val;
 *     public TreeNode left, right;
 *     public TreeNode(int val) {
 *         this.val = val;
 *         this.left = this.right = null;
 *     }
 * }
 */

public class Solution {
    
    
    /**
     * @param root: the root of the binary tree
     * @return: An integer
     */
    int sum = 0;
    public int leafSum(TreeNode root) {
    
    
        // write your code here
        sum = 0;
        recursionSearch(root);
        return sum;
    }
    
    public void recursionSearch(TreeNode root) {
    
    
        if (root == null) return;
        if (root.left == null && root.right == null) {
    
    
            sum += root.val;
        }
        recursionSearch(root.left);
        recursionSearch(root.right);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40026668/article/details/114076790