[LintCode] 用递归打印数字 Print Numbers by Recursion
来源:互联网 发布:淘宝客户关系管理软件 编辑:程序博客网 时间:2024/06/06 01:30
用递归的方法找到从1到最大的N位整数。
你能够用深度最多只有 N 层的递归么?
样例
给出 N = 1, 返回[1,2,3,4,5,6,7,8,9].
给出 N = 2, 返回[1,2,3,4,5,6,7,8,9,10,11,…,99].
Print numbers from 1 to the largest number with N digits by recursion.
Can you recursive with at most N depth?
Example
Given N = 1, return [1,2,3,4,5,6,7,8,9].
Given N = 2, return [1,2,3,4,5,6,7,8,9,10,11,12,…,99].
public class Solution { /** * @param n: An integer. * return : An array storing 1 to the largest number with n digits. */ public List<Integer> numbersByRecursion(int n) { if(n <= 0) { return new ArrayList<Integer>(); }else if(n == 1) { List<Integer> result = new ArrayList<Integer>(); for(int i = 1; i <= 9; i++) { result.add(i); } return result; }else { List<Integer> list = numbersByRecursion(n-1); List<Integer> result = new ArrayList<Integer>(list); for(int i = 1; i <= 9; i++) { int topdigit = (int)Math.pow(10, n-1) * i; result.add(topdigit); for(int j = 0; j < list.size(); j++) { result.add(topdigit + list.get(j)); } } return result; } }}
0 0
- [LintCode] 用递归打印数字 Print Numbers by Recursion
- 371.Print Numbers by Recursion-用递归打印数字(中等题)
- lintcode:Print Numbers by Recursion
- [LintCode]Print Numbers by Recursion
- Print Numbers by Recursion
- Print Numbers by Recursion
- Print Numbers by Recursion
- #371 Print Numbers by Recursion
- Print Numbers by Recursion 解题报告
- LintCode-用递归打印数字
- LintCode 用递归打印数字
- lintcode-用递归打印数字
- Lintcode 用递归打印数字
- LintCode 用递归打印数字
- 用递归打印数字-LintCode
- [剑指offer][第三章][12] Print Numbers by Recursion
- lintcode(371)用递归打印数字
- [LintCode]371.用递归打印数字
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- 56.EasyLikeArea
- 版本管理
- 数据库 safe You are using safe update mode and you tried to update a table without a WHERE
- canvas 制作时钟效果
- [LintCode] 用递归打印数字 Print Numbers by Recursion
- RabbitMQ (四) 路由选择 (Routing)
- Viewpager滑动菜单小记一下
- HttpURLConnection用法详解
- 风险管理
- 用例评审
- 学习h5第一天的心得
- 编码规范之函数
- Oracle存储过程简介