在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …中找到第 n 个数字。
    注意:
    n 是正数且在32位整数范围内 ( n < 2)。
    示例 1:

    1. 输入:
    2. 3
    3. 输出:
    4. 3

    示例 2:

    1. 输入:
    2. 11
    3. 输出:
    4. 0
    5. 说明:
    6. 11个数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... 里是0,它是10的一部分。
    class Solution {
    public:
        int findNthDigit(int n) {
            long maxBorder = 9;
            long ten = 9;
            int level = 1;
            int num = 9;
            if(n<10){
                return n;
            }
            while(maxBorder < n){
                level++;
                ten = ten * 10;
                num += ten;
                maxBorder += ten * level;            
            }
            int index = ((n - maxBorder + ten* level) + 1) / level + (num - ten);
            int bit_index = (n - maxBorder + ten* level - 1 + level) % level;
            for(int i = 0; i< level - bit_index - 1;i++){
                index = index/10;
            }
            cout<<index<<endl;
            return index % 10;
        }
    };