示例代码
class Solution {
public:
int monotoneIncreasingDigits(int n) {
string str=to_string(n);
int len=str.length(),flag=-1;
for(int i=len-1;i>0;i--){
if(str[i-1]>str[i]){
//flag用于记录从什么位置开始和其之后的所有数字都为9
flag=i;
str[i-1]--;
}
}
if(flag!=-1){
for(int i=flag;i<len;i++){
// str[i-1]=9; //错误写法
str[i]='9';
}
}
return stoi(str);
}
};
效果展示