1. Lexicographical Numbers
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].
public class Solution {
public List<Integer> lexicalOrder(int n) {
List<Integer> ans = new ArrayList<>();
for(int i = 1; i <= 9; i ++)
dfs(i, n, ans);
return ans;
}
public void dfs(int cur, int n, List<Integer> ans) {
if(cur > n)
return ;
ans.add(cur);
for(int i = 0; i <= 9; i ++)
dfs(cur * 10 + i, n, ans);
}
}