leetcode submission/20161004(Valid Perfect Square)

来源:互联网 发布:中国房地产市场知乎 编辑:程序博客网 时间:2024/04/28 23:36
Given a positive integer num, write a function which returns True if num is a perfect square else False.

Note: Do not use any built-in library function such as sqrt.

Example 1:

Input: 16Returns: True

Example 2:

Input: 14Returns: False

my answer:

class Solution {
public:
    bool isPerfectSquare(int num) {
        bool is_perfect_sqr = false;
        long val = num;
 // must use long rather than int
        if (val == 1)
            is_perfect_sqr = true;
        else {
            while(val * val > num)
                val /= 2;
            
            for (int i = val; i<val*2;i++) {
                if (i * i == num)
                    is_perfect_sqr = true;
            }
        }
        return is_perfect_sqr;        
    }
};

0 0
原创粉丝点击