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

相關文章
相關標籤/搜索