解题思路:主要分为三步(1)确定当前位所在的数字是几位数
(2)确定前位所在的数字(3)确定当前位指向的是所在数字的第几位
代码如下:
class Solution:
def findNthDigit(self, n: int) -> int:
if n <= 9:
return n
digit = 9
count = 1
while(n > (digit * count)):#确定位数
n -= (digit * count)
digit *= 10
count += 1
res = 10 ** (count-1) + (n-1) // count #确定数字
res = str(res)
return int(res[(n-1) % count]) #返回数字n指向的那一位