首页 > 其他 > 详细

leetcode 263 Ugly Number

时间:2016-07-04 01:08:14      阅读:248      评论:0      收藏:0      [点我收藏+]

public class Solution {
    public boolean isUgly(int num) {
        if(num == 1)
            return true;
        if(num == 0)
            return false;
        if(num%2 == 0)
            return isUgly(num/2);
        if(num%3 == 0)
            return isUgly(num/3);
        if(num%5 == 0)
            return isUgly(num/5);
        return false;
    }
}

public boolean isUgly(int num) {
    if(num==1) return true;
    if(num==0) return false;
	while(num%2==0) num=num>>1;
	while(num%3==0) num=num/3;
	while(num%5==0) num=num/5;
    return num==1;
}
 
简单的说能用循环去解决的尽量去避免是用递归会好一些
num%2==0确实还可以写成n&1==0,但是为了可读性不做修改
 

leetcode 263 Ugly Number

原文:http://www.cnblogs.com/linkstar/p/5639226.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!