不用內建的方式去做開根號
二分搜,去找最接近的中間值
class Solution {
public:
int mySqrt(int x) {
if (x == 0 || x == 1) return x;
int left = 0, right = x;
int mid = 0;
while(left<=right){
mid = left+(right-left)/2;
if((long)mid*mid==x) return mid;
else if((long)mid*mid<x){
left = mid+1;
}else{
right = mid-1;
}
}
return right;
}
};