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;


    }
}
相关推荐
重生之我是Java开发战士2 分钟前
【数据结构】优先级队列(堆)
java·数据结构·算法
菜鸟233号2 分钟前
力扣216 组合总和III java实现
java·数据结构·算法·leetcode
大柏怎么被偷了3 分钟前
【Linux】重定向与应用缓冲区
linux·服务器·算法
AuroraWanderll6 分钟前
类和对象(三)-默认成员函数详解与运算符重载
c语言·开发语言·数据结构·c++·算法
Liangwei Lin15 分钟前
洛谷 P10471 最大异或对 The XOR Largest Pair
算法
sin_hielo15 分钟前
leetcode 3652(定长滑动窗口/前缀和)
数据结构·算法·leetcode
AI科技星16 分钟前
质量定义方程中条数概念的解析与经典例子计算
数据结构·人工智能·经验分享·算法·计算机视觉
啊阿狸不会拉杆16 分钟前
《数字图像处理》第8章-图像压缩和水印
图像处理·人工智能·算法·计算机视觉·数字图像处理
智航GIS18 分钟前
ArcGIS大师之路500技---034重采样算法选择
人工智能·算法·arcgis
子夜江寒18 分钟前
决策树与回归树简介:原理、实现与应用
算法·决策树·回归