[LeetCode]400. Nth Digit

/*
    思路很简单   没有很特别的方法
    1.先找到要找的数是几位数
    2.再找到要找的数是那个数中的
    3.最后在上一步的数中找到结果
     */
    public int findNthDigit(int n) {
        //几位数
        long len = 1;
        //范围内有多少数
        long count = 9;
        //开始的数
        long sta = 1;
        while (n>count*len)
        {
            n-=count*len;
            len+=1;
            //下一个范围是这个范围的十倍
            count*=10;
            sta*=10;
        }
        //确定出自那个数
        long target = sta+(n-1)/len;
        String str = target+"";
        return str.charAt((int)((n-1)%len))-'0';
    }
原文地址:https://www.cnblogs.com/stAr-1/p/8488905.html