leetcode:Lexicographical Numbers

145人阅读 评论(0)

Given an integer n, return 1 - n in lexicographical order.

For example, given 13, return: [1,10,11,12,13,2,3,4,5,6,7,8,9].

Please optimize your algorithm to use less time and space. The input size may be as large as 5,000,000.

Subscribe to see which companies asked this question

public class Solution {
public List<Integer> lexicalOrder(int n) {
for(int i = 1; i < 10; ++i)
order(n, i, ans);
return ans;
}

public void order(int n, int base, List<Integer> list){
if(base > n){
return;
}
for(int i = 0; i < 10; ++i){
order(n, base * 10 + i,list);
}
}
}

public class Solution {
static List<Integer> ans = new LinkedList<>();
public List<Integer> lexicalOrder(int n) {
ans.clear();
for(int i = 1; i < 10; ++i)
order(n, i, ans);
return ans;
}

public void order(int n, int base, List<Integer> list){
if(base > n){
return;
}
for(int i = 0; i < 10; ++i){
order(n, base * 10 + i, list);
}
}
}
0
0

* 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场
个人资料
• 访问：75160次
• 积分：2979
• 等级：
• 排名：第11806名
• 原创：210篇
• 转载：40篇
• 译文：9篇
• 评论：3条
文章分类
最新评论