Advertisement

刷题-LeetCode-968. 监控二叉树(贪心)

阅读量:

968. 监控二叉树

题目链接

出处:力扣(LeetCode)

题目描述

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

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

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

示例 1:

输入:[0,0,null,0,0]
输出:1
解释:如图所示,一台摄像头足以监控所有节点。
示例 2:

数组中的元素包括多个零值和null值(其中数值字段设为零表示无摄像头安装),而数值字段设为null则表示该位置未被探测到监控范围

题目分析

  • 方法一
    为了在C++中有效管理内存资源,必须手动进行内存分配与释放。请确保及时从内存中释放不再需要的资源,并养成这一良好习惯。
    通过创建虚拟节点通常被视为一种高效的方法来解决某些问题。
    掌握如何自定义节点对于构建复杂系统至关重要。
复制代码
    /** * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     ListNode *next;
     *     ListNode() : val(0), next(nullptr) {}
     *     ListNode(int x) : val(x),

全部评论 (0)

还没有任何评论哟~