738.单调递增的数字
cpp
class Solution {
public:
int monotoneIncreasingDigits(int n) {
string a = to_string(n);
int k = 0;
for (int i = a.size() - 1; i > 0; i--) {
if (a[i] < a[i - 1]) {
k = i;
a[i-1]--;
}
}
cout << k << endl;
if (k != 0){
for (int i = a.size() - 1; i >= k; i--) {
a[i] = '9';
}
}
return stoi(a);
}
}
;
968.监控二叉树
cpp
class Solution {
public:
int ans = 0;
// 0是未被覆盖,1是摄像头位,2是被覆盖
int dfs(TreeNode* node) {
if (node==NULL)
return 2;
int left = dfs(node->left);
int right = dfs(node->right);
if (left == 0 || right == 0) {
ans++;
return 1;
}
if (left == 1 || right == 1) {
return 2;
}
return 0;
}
int minCameraCover(TreeNode* root) {
if (dfs(root) == 0)
ans++;
return ans;
}
};