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

   本博客的做者与csdn里Tank_in_the_street的做者是同一做者,转载文章需写明出处。git

本文章的代码已上传到GitHub,地址是回文数,喜欢的老铁点个赞,谢谢合做。
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浮点计算问题.net

相关文章
相关标签/搜索