您的位置:首页 > 移动开发

Happy Problem【leetcode202】

2015-06-15 20:15 218 查看
Tips:

    第一次没有AC是因为没有判断1这个特殊的数,其他没有什么太难的地方,代码和注释如下:

public class Solution202 {
public boolean isHappy(int n) {
int nn = n,temp = 0;
Set<Integer> set = new HashSet<Integer>();<span style="white-space:pre">	</span>//用set检测是否回到了起点
set.add(n);<span style="white-space:pre">					</span>//将n加入
if(n == 1)<span style="white-space:pre">					</span>//1需要先判断
return true;
while(temp!=1) {
temp = 0;
while (nn != 0) {<span style="white-space:pre">				</span>//各位的平方和
temp += Math.pow(nn % 10, 2);
nn = nn / 10;
}
if(set.contains(temp))<span style="white-space:pre">			</span>
return false;
set.add(temp);
nn = temp;
}
return true;<span style="white-space:pre">					</span>//若循环结束则是Happy Number
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: