题目描述 给你一个正整数 num 。如果 num 是一个完全平方数,则返回 true ,否则返回 false 。 完全平方数 是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。 不能使用任何内置的库函数,如 sqrt() 。 问题分析 采用二分法去寻找平方根,最后一定会将数字锁定到某一个整数上,然后比较此整数平方是否等于目标数即可。 时间复杂度在O(log2n)O(log_2n)O(log2n) 还有更加简便的一种方法,此方法引用自Avinaash_2005,此引用已经征得原作者的同意。 那就是设 x 为数的平方根 x^2=n x=n/x