java每日一题:给定一个正整数n,将1到n进行字典排序,并输出

时间:2025-05-15 22:36:59
package demo;

import ;
import ;

public class LexicographicalOrder {
	public static List<Integer> lexicalOrder(int n) {
        List<Integer> list = new ArrayList<>(n);
        int curr = 1;
        for (int i = 1; i <= n; i++) {
            (curr);
            if (curr * 10 <= n) {
                curr *= 10;
            } else if (curr % 10 != 9 && curr + 1 <= n) {
                		curr++;
            		}else {
            			while ((curr / 10) % 10 == 9) {
            				curr /= 10;
        				}
            			curr = curr / 10 + 1;
        			}
        }
        return list;
    }
	 public static void main(String args[]){
		 (lexicalOrder(1000));
	 }
}
运行结果: