读书人

软件工程师面试题精选100题(38)-输出1

发布时间: 2012-10-30 16:13:36 作者: rapoo

程序员面试题精选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);   }}

读书人网 >编程

热点推荐