class Solution {
public:
vector<int> res;
vector<int> lexicalOrder(int n) {
for(int i=1;i<=9;i++) dfs(i,n);
return res;
}
void dfs(int u, int n){
if(res.size()==n||u>n){
return;
}
res.push_back(u);
for(int i=0;i<=9;i++){
dfs(u*10+i,n);
}
}
};