Leetcode 968-监控二叉树

给定一个二叉树,我们在树的节点上安装摄像头。

节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。

计算监控树的所有节点所需的最小摄像头数量。

题解

参考自代码随想录

bash 复制代码
class Solution {
    public int result=0;
    public int minCameraCover(TreeNode root) {
        if (dfs(root) == 0) { // root 无覆盖
            result++;
        }
        return result;
        
    }

    public int dfs(TreeNode root){
        //边界条件
        // 空节点,该节点有覆盖
        if (root == null) return 2;

        int left=dfs(root.left);
        int right=dfs(root.right);

        //左右子节点有一个没有覆盖,本节点需要装监控
        if(left==0||right==0){
            result++;
            return 1;
        }
        //左右子节点有一个有监控,本节点被覆盖
        if(left==1||right==1) return 2;
        else return 0;


    }
}
相关推荐
Hag_2012 小时前
LeetCode Hot100 438.找到字符串中的所有字母异位词
算法·leetcode·职场和发展
元亓亓亓12 小时前
LeetCode热题100--239. 滑动窗口最大值--困难
数据结构·算法·leetcode
闻缺陷则喜何志丹13 小时前
【进制】P2320 [HNOI2006] 鬼谷子的钱袋|普及+
c++·算法·进制
田里的水稻13 小时前
FA_融合和滤波(FF)-图优化
人工智能·算法·机器学习
月挽清风13 小时前
代码随想录第32天:动态规划
算法·动态规划
不想看见40413 小时前
Word Search -- 回溯法--力扣101算法题解笔记
笔记·算法·leetcode
2501_9011478313 小时前
硬币找零问题的动态规划解法与实现思考笔记
笔记·算法·动态规划
Renhao-Wan13 小时前
Java 算法实践(三):双指针与滑动窗口
java·数据结构·算法
Pluchon13 小时前
硅基计划4.0 算法 图的存储&图的深度广度搜索&最小生成树&单源多源最短路径
java·算法·贪心算法·深度优先·动态规划·广度优先·图搜索算法
YGGP13 小时前
【Golang】LeetCode 3. 无重复字符的最长子串
开发语言·leetcode·golang