C++
1 class Solution { 2 public: 3 /** 4 * @param x: An integer 5 * @return: The sqrt of x 6 */ 7 int sqrt(int x) { 8 // write your code here 9 if (x<=1) { 10 return x; 11 } 12 int left = 1; 13 int right = x; 14 while (left <= right) { 15 int mid = left + ((right - left) >> 1); 16 if (mid == x/mid) { 17 return mid; 18 } 19 else if (mid < x/mid) { 20 left = mid + 1; 21 } else { 22 right = mid - 1; 23 } 24 } 25 return right; 26 } 27 };