class Solution {
public:
int mySqrt(int x) {
int i = 0;
int j = x/2 + 1;
while(i <= j)
{
long mid = (i+j)/2; //这里用long long 是方便下面计算sq不用再转换,如果用int会报错
long long sq = mid * mid;
if(sq == x)
return mid;
else if(sq < x)
i = mid + 1;
else
j = mid - 1;
}
return j;
}
};
public:
int mySqrt(int x) {
int i = 0;
int j = x/2 + 1;
while(i <= j)
{
long mid = (i+j)/2; //这里用long long 是方便下面计算sq不用再转换,如果用int会报错
long long sq = mid * mid;
if(sq == x)
return mid;
else if(sq < x)
i = mid + 1;
else
j = mid - 1;
}
return j;
}
};