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;


    }
}
相关推荐
j_xxx404_4 分钟前
LeetCode模拟算法精解I:替换问号,提莫攻击与Z字形变换
开发语言·数据结构·c++·算法·leetcode
superkcl202215 分钟前
C++初始化 和 赋值
开发语言·c++·算法
前端百草阁24 分钟前
Vue3 Diff 算法详解
前端·javascript·vue.js·算法·前端框架
weixin_4219226928 分钟前
C++中的状态模式高级应用
开发语言·c++·算法
不想看见40429 分钟前
Max Chunks To Make Sorted数组--力扣101算法题解笔记
数据结构·算法
AI科技星30 分钟前
从v=c螺旋时空公理出发的引力与电磁常数大统一
c语言·开发语言·人工智能·线性代数·算法·矩阵·数据挖掘
TsukasaNZ33 分钟前
代码性能剖析工具
开发语言·c++·算法
小菜鸡桃蛋狗34 分钟前
C++——基础概念
算法
dapeng287036 分钟前
C++中的观察者模式变体
开发语言·c++·算法
天若有情67337 分钟前
用编程思维重构学习:从IoC到响应式,打造高效知识体系
学习·算法·重构·ioc·学习方法·依赖注入·响应式数据