[LeetCode]404. 左叶子之和(递归)、938. 二叉搜索树的范围和(递归)(BST)

题目 404. 左叶子之和

如题

题解

  • 类似树的遍历的递归
  • 注意一定要是叶子结点

代码

class Solution {
    public int sumOfLeftLeaves(TreeNode root) {
        if(root == null){return 0;}

        int sum = sumOfLeftLeaves(root.left)+sumOfLeftLeaves(root.right);
        if(root.left!=null&&root.left.left==null&&root.left.right==null){
                sum+=root.left.val;
        }

        return sum;
    }
}

题目 938. 二叉搜索树的范围和

题解

  • 递归

代码

class Solution {
    public int rangeSumBST(TreeNode root, int L, int R) {
        if(root == null){return 0;}

        if(root.val>=L&&root.val<=R){
            return root.val+rangeSumBST(root.left,L,R)+rangeSumBST(root.right,L,R);
        }else if(root.val<=L){
            return rangeSumBST(root.right,L,R);
        }else{
            return rangeSumBST(root.left,L,R);
        }
    }
}

posted on 2020-06-07 19:18  coding_gaga  阅读(66)  评论(0编辑  收藏  举报

导航