文档讲解:代码随想录 (programmercarl.com)
视频讲解:代码随想录的个人空间-代码随想录个人主页-哔哩哔哩视频 (bilibili.com)
题目链接:738. 单调递增的数字 - 力扣(LeetCode)
解题思路:从后向前遍历。
代码如下:
class Solution {
public:
int monotoneIncreasingDigits(int n) {
string strNum = to_string(n);
int flag=strNum.size();
for(int i=strNum.size()-1;i>0;i--){
if(strNum[i-1]>strNum[i]){
flag=i;
strNum[i-1]--;
}
}
for(int i=flag;i<strNum.size();i++){
strNum[i]='9';
}
return stoi(strNum);
}
};
题目链接:968. 监控二叉树 - 力扣(LeetCode)
解题代码如下:?
class Solution {
public:
int res=0;
int travsel(TreeNode* cur){
if(!cur)return 2;
int left=travsel(cur->left);
int right=travsel(cur->right);
if(left==2&&right==2)return 0;
if(left==0||right==0){
res++;
return 1;
}
if(left==1||right==1){
return 2;
}
return -1;
}
int minCameraCover(TreeNode* root) {
if(travsel(root)==0)res++;
return res;
}
};