第386题---Lexicographical Numbers

  • 题意描述

    • 给定一个数,求这个数的字典数
  • 思路

    • 从1开始,1加入到数组,判断1的10倍是否在n内,如果在,递归;判断1是否在n内,并且n%10 < 9,则递归1+1
  • 代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    class Solution {
    public:
    void lexicalOrder1(int number, int n) {
    result.push_back(number);
    if(number * 10 <= n)
    lexicalOrder1(number*10, n);
    if(number < n && number % 10 < 9)
    lexicalOrder1(number+1, n);
    }
    vector<int> lexicalOrder(int n) {
    if(n == 0)
    return result;
    lexicalOrder1(1, n);
    return result;
    }
    private:
    vector<int> result;
    };
坚持原创技术分享,您的支持将鼓励我继续创作!

热评文章