打印1到最大的n位数

来源:互联网 发布:7层网络结构协议 编辑:程序博客网 时间:2024/06/17 07:19
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);    }}


0 0