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;


    }
}
相关推荐
宝贝儿好16 小时前
【强化学习实战】第十一章:Gymnasium库的介绍和使用(1)、出租车游戏代码详解(Sarsa & Q learning)
人工智能·python·深度学习·算法·游戏·机器学习
pao__pao_19 小时前
计算机系统大作业 程序人生-Hello’s P2P
程序人生·职场和发展·课程设计
munubak19 小时前
程序人生-Hello’s P2P
程序人生·职场和发展
努力学算法的蒟蒻19 小时前
day109(3.10)——leetcode面试经典150
面试·职场和发展
芝士爱知识a19 小时前
【程序人生】码农考公指南:是“降维打击”还是“围城自困”?
程序人生·职场和发展·程序员·公务员·考公·职场规划
炒鸡菜66619 小时前
程序人生-Hello’s P2P
c语言·程序人生·职场和发展
weixin_4588726119 小时前
东华复试OJ二刷复盘2
算法
Charlie_lll19 小时前
力扣解题-637. 二叉树的层平均值
算法·leetcode
爱淋雨的男人19 小时前
自动驾驶感知相关算法
人工智能·算法·自动驾驶
wen__xvn20 小时前
模拟题刷题3
java·数据结构·算法