void Print1ToMaxOfNDigits(int n){
if(n<=0) return;
char[] number = new char[n];
for(int i=0;i<10;i++){
number[0] = (char)('0'+i);
Print1ToMaxOfNDigitsRe(number,n,0);
}
}
private void Print1ToMaxOfNDigitsRe(char[] number, int length, int index) {
if(index==length-1){
PrintNumber(number);
return;
}
for(int i=0;i<10;i++){
number[index+1] = (char)('0'+i);
Print1ToMaxOfNDigitsRe(number,length,index+1);
}
}
private void PrintNumber(char[] number) {
boolean begin = false;
for(int i=0;i<number.length;i++){
if(!begin&&number[i]!='0'){
begin=true;
}
if (begin){
System.out.print(number[i]);
}
}
System.out.println();
}
剑指offer12:打印1到最大的n位数
最新推荐文章于 2023-07-24 17:06:08 发布