9. Palindrome Number(回文数字)

Determine whether an integer is a palindrome. Do this without extra space.

思路:

不能用额外空间,所以不能将数字转换成字符串再判断,那就一步步的对整数进行取余和取整来获得想要的数字。比如1221,1221/1000就取得首位1,1221%10就得到末尾1,接下来将整数变成22((x%1000)/10)。直到x<=0时停止循环。最开始的1000通过while循环获得。

var isPalindrome = function(x) {
    if(x<0) return false;
    var div=1;
    while(Math.floor(x/div)>=10) div*=10;
    console.log(div)
    while(x>0){
        var left=Math.floor(x/div);
        var right=x%10;
        if(left!=right) return false;
        x=Math.floor((x%div)/10);
        div/=100;
    }
    return true;
};

注意js的/不是取整,要用Math.floor()来获得取整后的数。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容