思路:从后向前遍历,如果前一位比后一位大,前一位减一。然后把后面的位都置成9。
class Solution {
public int monotoneIncreasingDigits(int N) {
String s = String.valueOf(N);
char[] arr = s.toCharArray();
int n = arr.length;
int flag = n ;
for(int i = n - 1; i >= 1; i--){
if(arr[i-1] > arr[i]){
arr[i-1]--;
flag = i;
}
}
for(int i = flag; i < n; i++)
arr[i] = '9';
return Integer.parseInt(String.valueOf(arr));
}
}