package java_study.JianZhiOffer;
import org.junit.Test;
/**
* Created by ethan on 2015/6/23.
* 剑指offer: 打印1到最大的n位数
* 考虑到大数问题, 用数组或者字串模拟(java中字串不如c/c++方便),所以用数组实现
*/
public class No12打印1到最大的n位数 {
public int count=0;
public void print12n(int n){
int[] arr = new int[n];
print12n_impl(arr, 0);
System.out.println("total count: "+ count);
}
public void print12n_impl(int[] arr, int index){
if (arr==null || index<0) return;
if (index>=arr.length){
print_array(arr);
count++;
return;
}
for (int i=0; i<10; i++){
arr[index] = i;
print12n_impl(arr, index+1);
}
}
public void print_array(int[] arr){
for (int i=0; i<arr.length; i++){
System.out.print(arr[i]);
}
System.out.println();
}
@Test
public void test(){
print12n(5);
}
}
打印1到最大的n位数
最新推荐文章于 2021-05-20 08:12:01 发布