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;


    }
}
相关推荐
爱学习的小囧12 小时前
零门槛!VCF 自动化环境登录 vSphere Supervisor 全教程
运维·服务器·算法·自动化·vmware·虚拟化
Book思议-12 小时前
线性表之顺序表入门:顺序表从原理到实现「增删改查」
数据结构·算法
I_LPL12 小时前
day52 代码随想录算法训练营 图论专题6
java·数据结构·算法·图论
lxl130712 小时前
C++算法(11)字符串
开发语言·c++·算法
passxgx12 小时前
12.3 多维高斯分布与加权最小二乘法
线性代数·算法·最小二乘法
少许极端12 小时前
算法奇妙屋(三十)-递归、回溯与剪枝的综合问题 3
算法·深度优先·剪枝·数独·n皇后
WBluuue12 小时前
数据结构与算法:01分数规划
c++·算法
七七肆十九12 小时前
PTA 习题9-1 时间换算
c语言·算法
XW010599912 小时前
5-6统计工龄
数据结构·python·算法
EQUINOX112 小时前
倍增优化dp,P10976 统计重复个数
算法·数学建模·动态规划