用递归的方法找到从1到最大的N位整数。
java 循环方法
public class Solution {
public List<Integer> numbersByRecursion(int n) {
// write your code here
ArrayList<Integer> re = new ArrayList<Integer>();
int nu = 1;
for(int i = 1; i <= n;i++){
nu = 10*nu;
}
for(int i = 1; i<nu;i++){
re.add(i);
}
return re;
}
}
}
Java 递归方法
public class Solution {
public List<Integer> numbersByRecursion(int n) {
// write your code here
ArrayList<Integer> re = new ArrayList<Integer>();
if(n<1)
return re;
recursion(n, re);
return re;
}
public void recursion(int n, List<Integer> re){
if(n > 1)
recursion(n-1, re);
int max = 9;
if (re.size() != 0)
max = (re.size() + 1) * 10 -1;
for(int i = re.size()+1; i<=max; i++)
re.add(i);
}
}