vector<int> lexicalOrder(int n) {
// 十叉树的前序遍历
vector<int> ans;
for (int i = 1; i <= 9; i++) {
preorder(i, n, ans);
}
return ans;
}
void preorder(int x, int n, vector<int> &ans) {
if (x > n) return;
ans.push_back(x);
for (int i = 0; i <= 9; i++) {
preorder(x * 10 + i, n, ans);
}
}