打印从1到n的最大n位数---全排列---大数问题



import java.io.PrintStream;

import org.junit.Test;

public class solution {
    @Test
    public void testFunc(){
        printN(2);
        
    }
    
    @Test
    public void test2(){
        printNum("01");
    }
    
    //打印从1到n的最大n位数
    public void printN(int n){
        char[] charArr = {'0','1','2','3','4','5',
                '6','7','8','9'};
        buildArr(n, charArr, 0, "");
        
        
    }
    public void buildArr(int n, char[] charArr, int index, String str){
        if (index==n) {
            printNum(str);
            return;
        }
        for(int i=0;i<10;i++){
            buildArr(n, charArr, index+1, str+charArr[i]);
        }
        
    }
    public void printNum(String str){
        char[] temp = str.toCharArray();
        int i;
        for(i=0;i<temp.length;i++){
            if (temp[i]!='0') {
                break;
            }
        }
        if (i==temp.length) {
            return;
        }
        System.out.println(str.substring(i));
    }
    

}

猜你喜欢

转载自blog.csdn.net/wwzheng16/article/details/81046273