4.19
注意越界的问题
越界的时候,值会为负数。
class Solution {
/**
* @param x: An integer
* @return: The sqrt of x
*/
public int sqrt(int x) {
// write your code here
if(x == 0){
return 0;
}
if(x <= 3){
return 1;
}
int i;
for(i = 2;;i++){
if( i*i == x){
break;
}
long num = (i+1)*(i+1); // 但是我用了long 为什么还是不行呢。
if(num > x || num < 0){
return i;
}
if((int)num > x){
break;
}
}
return i;
}
}