738. 单调递增的数字
- 从后向前遍历,遇到strNum[i - 1] > strNum[i]的情况,让strNum[i - 1]—,然后strNum[i]给为9,
- 用flag记录最左边要变为9的位置
- flag以后的位置全为9
class Solution {
public:
int monotoneIncreasingDigits(int n) {
if(n<10)return 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);
}
};