程序员面试题精选100题(38)-输出1到最大的N位数
题目:输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999。
此题考的是内存溢出问题的解决方案
000 ,001,002,...010...,999
char[] num = new char[n]; for(int i=0;i<10;i++){ //装配个位 num[n-1]=Char.valueOf(i); print(num,n-2);}public void print(char[] num,int currIndex){ if(currIndex==-1){ boolean isFirst = true; for(int i=0;i<num.length;i++){ if(num[i]==null||num[i]=='0'&&isFirst){ continue; }else{ System.out.print(num[i]); } } System.out.println(); return; } for(int i=0;i<num.length;i++){ num[currIndex]=Char.valueOf(i); print(num,currIndex-1); }}