0
点赞
收藏
分享

微信扫一扫

386. Lexicographical Numbers

E_topia 2022-08-03 阅读 27


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.

class Solution {
private List<Integer> result;
private int n;
public List<Integer> lexicalOrder(int n) {
this.result = new ArrayList<Integer>();
this.n = n;
solve(1);
return result;
}
private void solve(int m) {
result.add(m);
if (m * 10 <= n) solve(m * 10);
if (m < n && m % 10 < 9) solve(m + 1);
}
}


举报

相关推荐

0 条评论