leetcode202 欢乐数

208 阅读1分钟

一 题目

image.png

二 代码

let isHappy = function(num) {
    //记录数字是否已经出现过,防止死循环
    let record=new Map;
    //递归判断
    while(!record.has(num)){
        //先把num放到record中
        record.set(num);
        //计算平方和
        let str=num.toString();
        let res=0;
        for(let i=0;i<str.length;i++){
            res+=parseInt(str[i])*parseInt(str[i]);
        }
        if(res===1){return true;}
        num=res;
    }
    return false;
};