386. Lexicographical Numbers 难度:medium

来源:互联网 发布:caffe softmax层 编辑:程序博客网 时间:2024/06/06 15:38

题目:

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].


思路:

优先将数字乘10;如果数字末位<9,考虑将数字加1。


程序:

class Solution {public:    void solve(int m,int n,vector<int>& res)    {        res.push_back(m);        if(m * 10 <= n)            solve(m * 10,n,res);        if(m < n&&m % 10 < 9)            solve(m + 1,n,res);                }        vector<int> lexicalOrder(int n) {        vector<int> res;        solve(1,n,res);        return res;    }};


0 0
原创粉丝点击