leetcode968. 监控二叉树(dfs)
给定一个二叉树,我们在树的节点上安装摄像头。
节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。
计算监控树的所有节点所需的最小摄像头数量。
输入:[0,0,null,0,0]
输出:1
解释:如图所示,一台摄像头足以监控所有节点。
代码
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val = x; }* }*/
class Solution {int cnt=0;public int minCameraCover(TreeNode root) {if(getMinCameraCover(root)==0) cnt++;return cnt;}//返回值代表节点的状态 1是被装了摄像头 2是被子节点罩的 3是0没人罩的public int getMinCameraCover(TreeNode root) {if(root==null) return 2;int l=getMinCameraCover(root.left);int r=getMinCameraCover(root.right);if(l==0||r==0)//子节点没人监控,需要该节点监控他{cnt++;return 1;//告诉父节点 他被监控了}else if(r==1||l==1)//该节点已经被子节点监控了{return 2;//告诉父节点没人监控他}return 0;//告诉父节点要装监控,不然这个节点就没监控了}
}
leetcode968. 监控二叉树(dfs)相关推荐
- [Swift]LeetCode968.监控二叉树 | Binary Tree Cameras
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- leetcode968. 监控二叉树
一:论语 这个有意思,我们可以从中得出的是,一个人过错 其实是潜意思决定的 行为见品质 但知错更改也是nice的 二:题目 三:上码 /*** Definition for a binary tree ...
- 代码随想录算法训练营第三十七天 | 738.单调递增的数字,714. 买卖股票的最佳时机含手续费,968.监控二叉树,总结
Day36 周日休息~ 一.参考资料 单调递增的数字 https://programmercarl.com/0738.%E5%8D%95%E8%B0%83%E9%80%92%E5%A2%9E%E7%9 ...
- 力扣算法JS LC [714. 买卖股票的最佳时机含手续费] LC [968. 监控二叉树]
LC 714. 买卖股票的最佳时机含手续费 给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格 :整数 fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你 ...
- 代码随想录算法训练营第37天|738. 单调递增的数字,714. 买卖股票的最佳时机含手续费,968. 监控二叉树
Day 37 738. 单调递增的数字 class Solution { public:int monotoneIncreasingDigits(int n) {string strN = to_st ...
- 【leetcode困难】968. 监控二叉树
968. 监控二叉树 瞎**分析评论区Rui大佬的答案,这题想直接递归return min还是有坑的,分计数和状态.有个状态转换的思想 转载于:https://www.cnblogs.com/yuel ...
- 【算法】贪心算法:LeetCode 714 买卖股票的最佳时机含手续费 、LeetCode 968 监控二叉树
LeetCode 714 买卖股票的最佳时机含手续费 (中等) 题目 描述 给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 :整数 fee 代表了交易股票的手续费用. 你 ...
- 力扣刷题day32|738单调递增的数字、714买卖股票的最佳时机含手续费、968监控二叉树
文章目录 738. 单调递增的数字 思路 难点:遍历顺序 难点:设置flag 714. 买卖股票的最佳时机含手续费 贪心思路 难点 968. 监控二叉树 思路 难点:如何隔两个节点放一个摄像头 738 ...
- _32LeetCode代码随想录算法训练营第三十二天-贪心算法 | 738.单调递增的数字 、714.买卖股票的最佳时机含手续费、968.监控二叉树
_32LeetCode代码随想录算法训练营第三十二天-贪心算法 | 738.单调递增的数字 .714.买卖股票的最佳时机含手续费.968.监控二叉树 题目列表 738.单调递增的数字 714.买卖股票 ...
最新文章
- vscode前端开发中的快捷键说明
- CoreLocation.ConnectionClient CFDictionaryApplyFunction Crash
- 同步IO、异步IO的区别
- python3.8新特性 逻辑表达式_Python3.8正式发布!新特性解析在这里
- Linux——Ubuntu 18.04 安装screenFetch(显示系统/主题信息的命令行脚本)
- 牛客网暑期ACM多校训练营(第三场)
- CMake学习使用(基于vscode)
- 前端学习(1841):前端面试题之react和vue区别
- 深度学习论文阅读进阶路径图
- yuv420(planer) to bgr24 to bmp
- 计算机网络的体系结构
- 12 个学习新的编程语言的方法
- 二元函数连续性知识点总结
- Cadence16.6 PSpice仿真步骤---以分立器件搭建的H桥电路仿真为例
- oracle裁员原因_如何评价甲骨文(ORACLE)中国区裁员?
- 5G时代下的人工智能发展
- mmorpg无缝地图
- Linux创建用户密码修改
- siblings的用法
- Twinmotion 2020 视频教程-学习笔记