题目
思路
从最后一位倒着看,只要找到前一位比后一位大的就让前一位的数减一,flag记录后一位,表示要变为9,一直找到最前面前一位比后一位大的,标记flag,然后用for循环从flag的位置开始置为9。
代码
class Solution {
public:
int monotoneIncreasingDigits(int n) {
string a=to_string(n);
int flag=a.size();
for(int i=a.size()-1;i>0;i--)
{
if(a[i]<a[i-1])
{
flag=i;
a[i-1]--;
}
}
for(int i=flag;i<a.size();i++)
{
a[i]='9';
}
return stoi(a);
}
};

被折叠的 条评论
为什么被折叠?



