题目描述
给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。
进阶:不要 使用任何内置的库函数,如 sqrt 。
解题思路
这里的实现没有使用任何内置函数。
- 单提出num为1的情况,直接返回true。
- 用一个for循环,从 1 开始,从小到大遍历所有正整数,寻找是否存在满足 ii = num的的正整数 i,存在就返回true。若出现 ii >num,则可以返回false。
完整代码
class Solution {
public boolean isPerfectSquare(int num) {
if(num==1)return true;
for(int i=1;i<num;i++){
if(i*i==num)return true;
if(i*i>num)return false;
}
return false;
}
}