738. 单调递增的数字
从后往前,如果不符合就把前面-1,自己往后的都变成9
class Solution {
public:
int monotoneIncreasingDigits(int n) {
string num=to_string(n);
int flag=INT_MAX;
for(int i=num.size()-1;i>0;i--){
if(num[i-1]>num[i]){
num[i-1]--;
flag=i;
}
}
for(int index=flag;index<num.size();index++)num[index]='9';
return stoi(num);
}
};
968. 监控二叉树
class Solution {
public:
int res=0;
int travel(TreeNode* node){
if(node==nullptr)return 2;
int left=travel(node->left);
int right=travel(node->right);
if(left==0||right==0){res++;return 1;}
if(left==1||right==1)return 2;
else return 0;
}
int minCameraCover(TreeNode* root) {
if(travel(root)==0)res++;
return res;
}
};
递归