如何利用JS判斷整數(shù)x是否是回文數(shù)
題目
給你一個整數(shù) x ,如果 x 是一個回文整數(shù),返回 true ;否則,返回 false 。
回文數(shù)是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數(shù)。例如,121 是回文,而 123 不是。
示例 1:
輸入:x = 121 輸出:true
示例 2:
輸入:x = -121 輸出:false 解釋:從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個回文數(shù)。
示例 3:
輸入:x = 10 輸出:false 解釋:從右向左讀, 為 01 。因此它不是一個回文數(shù)。
示例 4:
輸入: x = -101 輸出: false
提示:
-231 <= x <= 231 - 1
解題思路
將數(shù)字本身反轉(zhuǎn),將反轉(zhuǎn)后的值與原值進行比較(但這有一個問題,就是如果反轉(zhuǎn)之后的數(shù)字過大會存在整數(shù)溢出問題,目前還沒有想到好解決的辦法,后續(xù)考慮到隨時更新文章)
具體分析:
1.先把數(shù)字轉(zhuǎn)化成字符串
number.toString()
2.然后把字符串拆分成數(shù)組
string.split()
3.然后把數(shù)組中的數(shù)據(jù)倒換位置
4.然后把倒換后的數(shù)組整合成字符串
5.最后再與開始拆分后的字符串進行比較,如果一樣的就返回true, 如果不一樣的就返回false
代碼實現(xiàn)
/* * @lc app=leetcode.cn id=9 lang=javascript * * [9] 回文數(shù) */ // @lc code=start /** * @param {number} x * @return {boolean} */ var isPalindrome = function(x) { var xString = x.toString(); var xStringArr = xString.split(''); var resultStr = ''; for (var i = xStringArr.length-1; i >= 0; i--) { resultStr += xString.charAt(i); } if(resultStr === xString){ return true; } else { return false; } } // @lc code=end
其他方法
- 將數(shù)字的后半段通過取余方式拿出來,并反轉(zhuǎn)與前半段數(shù)字進行比較
- 字符串反轉(zhuǎn)不用字符串思路=》個十百等轉(zhuǎn)換相加比較ok
- 直接用js自帶的reverse方法即可
總結(jié)
到此這篇關于如何利用JS判斷整數(shù)x是否是回文數(shù)的文章就介紹到這了,更多相關JS判斷整數(shù)x是回文數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JavaScript JSON.stringify()的使用總結(jié)
JSON是一種輕量級數(shù)據(jù)格式,可以方便地表示復雜數(shù)據(jù)結(jié)構(gòu)。JSON對象有兩個方法:stringify()和parse()。在簡單的情況下,這兩個方法分別可以將JavaScript序列化為JSON字符串,以及將JSON解析為原生JavaScript值。本文著重介紹JSON.stringify()的使用方法和注意事項。2021-05-05如何用js 實現(xiàn)依賴注入的思想,后端框架思想搬到前端來
這篇文章主要介紹了js 實現(xiàn)依賴注入的思想,后端框架思想搬到前端來,需要的朋友可以參考下2015-08-08模仿JQuery.extend函數(shù)擴展自己對象的js代碼
最近打算寫個自己的js工具集合,把自己平常經(jīng)常使用的方法很好的封裝起來,其中模仿了jq的結(jié)構(gòu)。2009-12-12