leetcode [Happy Number]//待整理多种解法

来源:互联网 发布:linux服务器绑定域名 编辑:程序博客网 时间:2024/05/29 12:45
public class Solution {public int divedeAndProduct(int n){int res = 0;while(n != 0){int temp = n % 10;res += temp * temp;n = n / 10;}//System.out.println(res);return res;}    public boolean isHappy(int n) {    int temp = divedeAndProduct(n);    HashSet<Integer> set = new HashSet<Integer>();//用来判断是否出现循环    set.add(temp);        while(temp != 1){        //if(temp == initN) return false;//出现循环就不可能是开心数,这样防止死循环        temp = divedeAndProduct(temp);        //if(temp == initN) return false;//这一句不能放在上面注释的地方,因为一开始temp是等于intN的        //但这也不行,因为循环的数可能不是一开始出现的,所以用一个判断来陆续存入        if(set.contains(temp)){        return false;        }        else{        set.add(temp);        }        }        return true;    }}

0 0