400. 第N个数字

在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 个数字。

注意:
是正数且在32为整形范围内 ( n < 231)。

示例 1:

输入:3

输出:3

示例 2:

输入:11

输出:0

说明:第11个数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... 里是0,它是10的一部分。
class Solution {
public:
    int findNthDigit(int n) {
        string s="";
        int i=1;
        while(n>0)
        {
            n-=to_string(i).size();
            i++;
        }
        if(to_string(i-1).size()==1)
            return i-1;
        else
            return (to_string(i-1)[to_string(i-1).size()+n-1]-'0');
    }
};

猜你喜欢

转载自blog.csdn.net/qq_23283325/article/details/89814589
今日推荐