递归求二叉树叶子节点和

使用递归解决此类问题,可以首先分析问题及其拆解,这里面可以将求叶子节点的和拆解为求左子树叶子节点和与求右子树的叶子节点和,然后分析递归出口,这里即访问到叶子节点退出,返回叶子节点本身的值。

class Solution{
    public int leafsum(TreeNode root){
        if(root == null){
            return 0;
        }
        if(root.left == null && root.right == null){
            return root.val;
        }
        return leafsum(root.left) + leafsum(root.right);
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章