参考资料:代码随想录
题目链接:. - 力扣(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);