参考资料:代码随想录
题目链接:. - 力扣(LeetCode)
倒序遍历每个数字,遇到前一个比后一个大的就减一,最后统一把后面几位置为9
String str = n+"";
char[] chars = str.toCharArray();
int flag = chars.length;
for (int i = chars.length-2; i >= 0; i--) {
if(chars[i] > chars[i+1]){
chars[i]--;
flag = i + 1;
}
}
for(int i = flag;i < chars.length;i++){
chars[i] = '9';
}
String string = Arrays.toString(chars);
string = string.replace("[", "");
string = string.replace("]","");
string = string.replace(",","");
string = string.replace(" ","");
return Integer.parseInt(string);