打印1到最大的n位数-Java
2017-08-13 14:43
363 查看
在练习剑指offer的时候,第12题打印1到最大的n位数的时候,想找个java版的,但大家要么用BigInteger做,要么给出其他的方法。我觉得要给就给最好的方法,下面是我自己参考C++代码写的java版的全排列方法。
代码:
代码:
public class Quanpaixu { public static void print1ToMaxOfNDigits(int n){ if(n<=0) { return; } //生成相应位数大小的数组 int[] number = new int ; digui(number, n, 0); } //第二中方法实现,全排序实现 public static void digui(int[] number,int length,int index){ //判断是否到数组的最后索引位置 if(index ==length){ PrintNumber(number); return; } for(int i=0;i<10;i++){ number[index]=i; digui(number, length, index+1); } } private static void PrintNumber(int[] number) { //标识第一个非0的节点 boolean touFlag = true; for(int i=0; i<number.length; i++) { if(number[i]!=0 && touFlag) { touFlag = false; } if(!touFlag) { System.out.print(number[i]); } } //不打印0,从1开始打印 if(!touFlag) { System.out.println(); } } //main方法测试 public static void main(String[] args) { print1ToMaxOfNDigits(3); } }
相关文章推荐
- java打印从1到最大的n位数
- 打印1到最大的n位数(Java实现)
- 从1打印到N位数最大数 的全排列方法。Java
- 剑指offer-chapter3-面试题12-打印1到最大的n位数(java)
- 打印1到最大的n位数----java实现
- 剑指Offer面试题12:打印1到最大的n位数 Java实现
- 剑指Offer:面试题12——打印1到最大的n位数(java实现)
- 【剑指offer-Java版】12打印1到最大的n位数
- 剑指offer--面试题12:打印1到最大的n位数--Java实现
- 剑指Offer 面试题17:打印从1到最大的n位数 Java代码实现
- Java之BigInteger(面试题12:打印1到最大的n位数)
- 二进制中1的个数 & 打印1到最大的n位数 Java实现
- 剑指Offer——打印1到最大的n位数(好题)(java实现)
- 剑指offer编程题Java实现——面试题12打印1到最大的n位数
- [剑指offer] 打印1到最大的n位数(JAVA实现)
- 剑指Offer面试题12(Java版):打印1到最大的n位数
- 打印1到最大的n位数 Java
- 剑指Offer(Java版):打印1到最大的n位数
- 打印1到最大的n位数(java)
- 剑指offer编程题Java实现——面试题12打印1到最大的n位数