p25 判断一个数是否为丑数 (leetcode 263)
一:解题思路
丑数的定义为:只包含质因数为2,3,5的正整数,其中1作为特例也算作丑数。这个题目比较简单,首先需要判断这个数是否小于等于0,如果是肯定不是丑数,然后需要连续的去除以2,3,5,看最后的得到的结果是否为1。如果最后得到的结果是为1这说明这个数为丑数。
Time:O(m+n+l),Space:O(1)
二:完整代码示例 (C++版和Java版)
C++版:
class Solution { public: bool isUgly(int num) { if (num <= 0) return false; while (num % 2 == 0) num /= 2; while (num % 3 == 0) num /= 3; while (num % 5 == 0) num /= 5; return (num==1); } };
Java版:
class Solution { public boolean isUgly(int num) { if(num<=0) return false; while(num%2==0) num/=2; while(num%3==0) num/=3; while(num%5==0) num/=5; return (num==1); } }
                    
                
                
            
        
浙公网安备 33010602011771号