摘要:題目分析這是上的第題,難度為,判斷整型數(shù)字是否為回文串,需要注意兩點(diǎn)負(fù)數(shù)都不是回文小于的非負(fù)整數(shù)都是回文這一題與第題類似,也可以有兩種思路數(shù)組法和模十法。所以代碼可以如下改進(jìn)能被整除的非整數(shù)和負(fù)數(shù),返回
題目
分析Determine whether an integer is a palindrome. Do this without extra space.
這是leetcode上的第9題,難度為easy,判斷整型數(shù)字是否為回文串,需要注意兩點(diǎn):
1、負(fù)數(shù)都不是回文
2、小于10的非負(fù)整數(shù)都是回文
這一題與第7題類似,也可以有兩種思路:數(shù)組法和模十法。由于題目對空間復(fù)雜度有要求,所以使用模十法
js實現(xiàn)模十法:
把給定的x使用模十法逆序一下,與原x的值比較
/** * @param {number} x * @return {boolean} */ var isPalindrome = function(x) { if(x<0) return false; if(x<10) return true; var temp = 0; var org = x;//記錄x的初始值 while(x>9){ temp = x%10+temp*10 x = parseInt(x/10) } temp = temp*10 + x return temp == org };
模十改進(jìn)版:
上面方法將給的x完全逆序后比較,其實還可以簡化一下。比如整數(shù)12321,當(dāng)上面方法中的while循環(huán)進(jìn)行到當(dāng)temp=12,x=123時,這時就可以判斷為回文了,此時temp==parseInt(x/10)。再比如12344321,當(dāng)進(jìn)行到temp=1234,x=1234時也可以判斷回文了,此時temp==x。所以代碼可以如下改進(jìn):
/** * @param {number} x * @return {boolean} */ var isPalindrome = function(x) { //能被10整除的非0整數(shù)和負(fù)數(shù),返回false if(x<0||(x%10==0&&x!=0)) return false; if(x<10) return true; var temp = 0; while(x>temp){ temp = x%10+temp*10 x = parseInt(x/10) } return (temp == x)||(parseInt(temp/10)==x) };
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/88973.html
摘要:自己沒事刷的一些的題目,若有更好的解法,希望能夠一起探討項目地址 自己沒事刷的一些LeetCode的題目,若有更好的解法,希望能夠一起探討 Number Problem Solution Difficulty 204 Count Primes JavaScript Easy 202 Happy Number JavaScript Easy 190 Reverse Bi...
摘要:有一點(diǎn)需要注意的是,負(fù)數(shù)不算作回文數(shù)。而第題當(dāng)時的方法是,對整數(shù)取除的余數(shù),即是當(dāng)前整數(shù)的最后一位。那么它翻轉(zhuǎn)后一半的數(shù)字之后,應(yīng)該和前半段的數(shù)字相等,我們將采用這種思路進(jìn)行解題。 題目詳情 Determine whether an integer is a palindrome. Do this without extra space.題目要求我們在不占用額外空間的前提下,判斷一個整...
Problem Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward. Example 1: Input: 121Output: trueExample 2: Input: -121Output: falseExplana...
摘要:難度本題要求判定一個整數(shù)是否為回文數(shù)字比如都是回文數(shù)字但是不是回文數(shù)字所有負(fù)數(shù)都不是回文數(shù)字本題還有一個關(guān)鍵要求不能使用額外空間我理解這里的額外空間是指堆空間在程序中不能去額外的什么變量更不用說提升空間復(fù)雜度直接上的解法解法 Determine whether an integer is a palindrome. Do this without extra space. Some ...
摘要:判斷一條單向鏈表是不是回文解法可以借助棧,將遍歷到的前半段鏈表節(jié)點(diǎn)放入棧,后半段每當(dāng)遍歷到一個,都要與出棧的節(jié)點(diǎn)相比較。如果中間出現(xiàn)不相等的情況,則不是回文。 [July 程序員編程藝術(shù):面試和算法心得題目及習(xí)題][1] 字符串轉(zhuǎn)換成整數(shù) also Leetcode 8 String to Integer (atoi) 題目描述 輸入一個由數(shù)字組成的字符串,把它轉(zhuǎn)換成整...
閱讀 1094·2021-09-22 15:19
閱讀 1711·2021-08-23 09:46
閱讀 2233·2021-08-09 13:47
閱讀 1412·2019-08-30 15:55
閱讀 1420·2019-08-30 15:55
閱讀 1980·2019-08-30 15:54
閱讀 2804·2019-08-30 15:53
閱讀 718·2019-08-30 11:03