您的位置:首页 > 职场人生

剑指offer-面试题12:打印1到最大的n位数

2016-06-14 14:08 281 查看

题目

输入数字你,按顺序打印出从1最大的n位十进制数。比如输入3,则打印出1,2,3一直到最大的3位数即999。

public void PrintToMaxOfNDigits(int n){
if(n<=0)
return;

int[]  number=new int
;
while(Increment(number)){
PrintNumber(number);
}
}
private void PrintNumber(int[] number) {//打印出来
int i=0;
while(number[i]==0) i++;
while(i<number.length){
System.out.print(number[i]);
i++;
}
System.out.print(" ");
}
private boolean Increment(int[] number) {//加1处理

int j=number.length-1;
number[j]=number[j]+1;
while(j>0){
if(number[j]>9){
number[j]-=10;
number[j-1]+=1;
}
j--;
}

if(number[0]>9){//最高位超过9,终止递增循环
return false;
}
else{
return true;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面试题