386. 字典序排数

题目:给定一个整数 n, 返回从 到 的字典顺序。

例如,

给定 n =13,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] 。

题解:

class Solution {  //递归
    vector<int> ans;
public:
    void dfs(int num, int& n) {
        if (num > n) return;
        ans.push_back(num);
        for (int i = 0; i <= 9; ++i) dfs(num * 10 + i, n);
    }

    vector<int> lexicalOrder(int n) {
        for (int i = 1; i <= 9; ++i) dfs(i, n);
        return ans;
    }
};
posted @ 2021-03-31 15:42  USTC丶ZCC  阅读(34)  评论(0编辑  收藏  举报