用java实现该题书上第三种思路如下:
public void PrintToMaxOfNDigits(int n)
{
if(n<0)
return;
char[] number =new char[n];
for(int i=0;i<10;++i)
{
number[0]=i+'0';
Print1ToMaxOfNDigitsRecursively(number,n,0);
}
}
public void Print1ToMaxOfNDigitsRecursively(char[] number,int length,int index)
{
if(index==length-1)
{
printnumber(number);
return;
}
for(int i=0;i<10;++i)
{
number[index+1]=i+'0';
Print1ToMaxOfNDigitsRecursively(number,length,index);
}
}