代码随想录算法训练营第三十七天 | 738. 单调递增的数字、968. 监控二叉树(待刷)
- 738. 单调递增的数字
- 题目
- 解法
- 968. 监控二叉树(待刷)
738. 单调递增的数字
题目
解法
class Solution {
public:
int monotoneIncreasingDigits(int n) {
string str = to_string(n);
// flag用于记录需要标记9从哪里开始
// 设置为这个默认值,为了防止第二个for循环在flag没有被赋值的情况下执行
int flag = str.size();
for (int i = str.size()-1; i > 0; i--) {
if(str[i-1] > str[i]) {
flag = i;
str[i-1] -= 1;
}
}
for (int i = flag; i < str.size(); i++) {
str[i] = '9';
}
return stoi(str);
}
};