代码训练营第37天|● 738.单调递增的数字 ● 968.监控二叉树

发布时间:2024年01月18日

文档讲解:代码随想录 (programmercarl.com)

视频讲解:代码随想录的个人空间-代码随想录个人主页-哔哩哔哩视频 (bilibili.com)

LeetCode??738.单调递增的数字?

题目链接: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);
    }
};

LeetCode??968.监控二叉树?

题目链接: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;
    }
};

文章来源:https://blog.csdn.net/m0_50658969/article/details/135681277
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。