python
1.普通解法
class Solution:
def isPerfectSquare(self, num: int) -> bool:
if num==1:
return True
for i in range(1,num//2+1):
if(i*i == num):
return True
elif (i*i>num):
break
return False
2.二分法:
class Solution:
def isPerfectSquare(self, num: int) -> bool:
# if num==1:
# return True
# for i in range(1,num//2+1):
# if(i*i == num):
# return True
# elif (i*i>num):
# break
# return False
left = 0
right = num//2 + 1
while(left <= right):
mid = (left+right)//2
if(mid*midnum):
right = mid - 1
else:
return True
return False



