class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param x int整型 * @return int整型 */ int mysqrt(int x) { // write code here if(x == 0) return 0; if(x == 1) return 1; //二分法 int margin_left = 0; int margin_right = x; int mid; int result = 0; while(margin_left <= margin_right){ mid = margin_left + (margin_right-margin_left)/2; long long squre = (long long) mid*mid; if(squre == x){ return mid; }else if(squre < x){ result = mid; margin_left = mid + 1; }else if(squre > x){ margin_right = mid - 1; } } return result; } };