leetcode968. 监控二叉树
生活随笔
收集整理的這篇文章主要介紹了
leetcode968. 监控二叉树
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一:論語(yǔ)
這個(gè)有意思,我們可以從中得出的是,一個(gè)人過(guò)錯(cuò) 其實(shí)是潛意思決定的 行為見(jiàn)品質(zhì) 但知錯(cuò)更改也是nice的
二:題目
三:上碼
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:int cnt = 0;int tralTree(TreeNode* root) {if(root == nullptr) return 2;//遍歷到葉節(jié)點(diǎn)的話有覆蓋int left = tralTree(root->left);int right = tralTree(root->right);//情況一 左右結(jié)點(diǎn)都被覆蓋了 那么其就是未被覆蓋if(left == 2 && right == 2) return 0;//情況二://left == 0 && right == 0 左右結(jié)點(diǎn)無(wú)覆蓋//left == 1 && right == 0 左節(jié)點(diǎn)有攝像頭,右結(jié)點(diǎn)無(wú)覆蓋//left == 0 && right == 1 左節(jié)點(diǎn)無(wú)覆蓋,右結(jié)點(diǎn)有攝像頭//left == 0 && right == 2 左節(jié)點(diǎn)無(wú)覆蓋,右結(jié)點(diǎn)有覆蓋//left == 2 && right == 0 左節(jié)點(diǎn)有覆蓋,右結(jié)點(diǎn)無(wú)覆蓋if(left == 0 || right == 0) {cnt++;return 1;}//情況三://left == 1 && right == 2左節(jié)點(diǎn)有攝像頭,右節(jié)點(diǎn)有覆蓋//left == 2 && right == 1左節(jié)點(diǎn)有覆蓋,右節(jié)點(diǎn)有攝像頭//left == 1 && right == 1 都有攝像頭的話,那我們就可以返回被覆蓋if(left == 1 || right == 1) return 2;return -1;}int minCameraCover(TreeNode* root) {/**思路:1.0表示未覆蓋,1表示有攝像頭,2表示覆蓋了2.這里我們采用的遍歷方法是后序遍歷,因?yàn)槲覀兪菑牡屯系?我們不考慮葉節(jié)點(diǎn),因?yàn)槿~節(jié)點(diǎn)沒(méi)有子結(jié)點(diǎn)所以我們都是再葉節(jié)點(diǎn)的父節(jié)點(diǎn)上安裝攝像頭*/int num = tralTree(root);if(num == 0){cnt++;}return cnt;} };家人們 家人們 貪心稀里糊涂的結(jié)束了 引用卡哥的話,貪心就是 你不知道咋回事就用上了 嘿嘿 反正是不知道咋回事就結(jié)束貪心了 我要擁抱動(dòng)態(tài)規(guī)劃了
加油 晚安
菜雞杰要天天向上 !!!!!!!!!!
總結(jié)
以上是生活随笔為你收集整理的leetcode968. 监控二叉树的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 对标英伟达 H200,英特尔预告 Gau
- 下一篇: session.setAttribute