1class Solution {2public:3bool isPerfectSquare(int num) {4if (num == 1) return true;5long long l = 1, h = num / 2;67while (l <= h) {8long long mid = l + (h - l) / 2;9long long midSqr = mid * mid;1011if (midSqr == num) return true;1213if (num < midSqr) {14h = mid - 1;15} else {16l = mid + 1;17}18}19return false;20}21};