个人技术分享

参考资料:代码随想录

题目链接:. - 力扣(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);