算法基础题(9):回文数

立扣题:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。


分析:回文数就是我们将一个数字无论是正着读还是反着读,结果都是相同的数,所以我们可以进行数字反转,然后对比,得结果。

☆代码

        let x = -121;

        function isPalindrome(x){
            let temp = x;  //存一个做对比
            //先转成字符串,转成数组,在反转,在转成字符串
            let flag = String(x).split('').reverse().join('')
            if (temp == flag) {
                return true
            }else{
                return false
            }

        }
        console.log(isPalindrome(x));

☆进阶代码

let x = -121;

        function isPalindrome(x){
            if(x<0)return false  //判断是否是负数,是直接返回false
            let temp = x;
            let res = 0

            while(x != 0){  //循环从个位取数然后相加
                let cur = x % 10;
                x = Math.floor(x / 10);
                res = res * 10 + cur;
            }
            
            return temp == res ? true : false;
        }
        console.log(isPalindrome(x));

有更好的方法欢迎留言!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容