代码实现:
import java.util.*;
public class Solution {
public int findNthDigit (int n) {
//记录几位数
int w = 1;
//记录当前区间的起始位置
long begin = 1;
//记录区间的个数
long count = 9;
//当n大于count时,则说明不在这一区间
while(n > count){
//n减去当前区间的数,则是下一区间的按顺序的位数
n -= count;
//下一区间的开始
begin *= 10;
//位数加1
w++;
//让count为下一区间的位数
count = 9 * begin * w;
}
//确定在那个数上
String num = ""+(begin + (n-1)/w);
//确定在这个数的索引位置
int index = (n-1) % w;
return (int)(num.charAt(index)) - (int)('0');
}
}