int mySqrt(int x)
{
int left=0;
int right=x;
while(right>=left)
{
long long mid=(left+right)/2;
if(mid*mid<=x&&(mid+1)*(mid+1)>x)
{
return mid;
}
else if(mid*mid<x)
left=mid+1;
else if(mid*mid>x)
right=mid-1;
}
return 0;
}
while循环里的条件为啥必须是right>=left,如果我改成>,那么当测试用例x=1的时候,输出的结果是0