题目描述
blablabla
样例
class Solution {
public int digitAtIndex(int n) {
int i=1;//几位数
long s=9;//s表示位数共有多少个,一定要用Long,防止溢出
long base=1;//base表示位数的起始值
long number;//表示是几位数中的第几位数
while(n>i*s){
n-=i*s;//n-9-2*90-3*900
i++;
s*=10;
base*=10;
}
if(n%i==0){
number=base+n/i-1;
return (int)number%10;
}else{
number=base+n/i;//有余数,说明是第多少位数中的第n%i位数
int m=n%i;
for(int j=0;j<i-m;j++){
number=number/10;
}
return (int)number%10;
}
}
}