### 解题思路
此处撰写解题思路
1.数字转为string,方便逐位比较,在取每一位的时候很好用。
2.然后从头找前面的字符大于后面的字符,找到后减一
3.比较当前字符是否小于前面的字符,若是,依次减一,知道找到不小于前面字符为止,注意不超过字符串边界。在当前字符后面全部置位为‘9’,转为数字即可。
### 代码
```cpp
class Solution {
public:
int monotoneIncreasingDigits(int N) {
//使用贪心法
string str=to_string(N);
int len=size(str);
int n=0;
for(;n<len-1;n++){
if(str[n]>str[n+1]){
str[n]-=1;//当前位置减一,后面全部为9;
break;
}}
while(str[n-1]>str[n]&&n>0){
str[n-1]-=1;
n--;
}
for(n=n+1;n<len;n++){
str[n]=‘9‘;
}
return stoi(str);
}
};
```