天天看點

leetcode (Ugly Number)

Title:Ugly Number    263

Difficulty:Easy

原題leetcode位址:   https://leetcode.com/problems/ugly-number/

1.  轉換二進制

時間複雜度:O(n),一次一層while循環。

空間複雜度:O(1),沒有申請額外空間。

/**
     * 不斷的整除2、3、5,最後的結果為1,則傳回true,否則傳回false
     * @param num
     * @return
     */
    public static boolean isUgly(int num) {

        while (num >= 2) {
            if (num % 2 == 0) {
                num /= 2;
            }
            else if (num % 3 == 0) {
                num /= 3;
            }
            else if (num % 5 == 0) {
                num /= 5;
            }
            else {
                return false;
            }
        }

        return num == 1;

    }