leetCode第九题,回文数(Palindrome Number),JavaScript实现

   本文章的代码已上传到GitHub,地址是回文数,喜欢的老铁点个赞,谢谢合作。

        今天刷的题目是算法题里最简单的回文数,题目如下所示:

        在不考虑进阶的情况下,可以通过将整数转换成字符串,利用字符串在JavaScript里的特性可以很快的得出结果。方法是遍历字符串的前一半字符是否等于后一半的字符,方法如下:

        如果是单纯的转换字符串的话那这道题的确是小意思。那我们现在来试一下进阶。进阶的条件是不能将整数转换成字符串,那我们可以弄一个temp(英文template的缩写)变量来存形参x的值,再弄一个变量curr(英文current的缩写),这个算法的思路是temp每一位数的10的余数加上curr乘以10,这里的curr变量就是记录temp每一位数的10的余数加上curr乘以10的值。代码如下:

        这里需要注意的一点就是求余和相除必须要加上Math.floor()函数,这是由于在计算机的小数转换成二进制中是无被整除的,并且JavaScript是基于IEEE 754 标准的,所以会出现精度上的问题。这个问题在面试上被问无数遍,典型的经典例题就是0.1+0.2是不等于0.3。关于JavaScript的IEEE 754的相关文章介绍请查看下面这篇文章:JavaScript浮点计算问题

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值