在做Leetcode 69. x 的平方根,出现了两种int越界的情况: 整数相乘越界 if(mid * mid <= x) 这样写的话,mid * mid可能越界,因此可以改为 if(mid <= x/mid) 整数本身越界 int n_r = x; Leetcode给了个例子,x = 2147483647,导致n_r越界,因此将int改为long long int。 long long int n_r = x;