摘要:有一點(diǎn)需要注意的是,負(fù)數(shù)不算作回文數(shù)。而第題當(dāng)時(shí)的方法是,對(duì)整數(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.想法題目要求我們?cè)诓徽加妙~外空間的前提下,判斷一個(gè)整數(shù)是否是回文數(shù)。
這道題的描述有一丟丟讓人一頭霧水,這個(gè)不占用額外空間的意思主要是讓我們不要嘗試去轉(zhuǎn)換成字符串,或者是使用數(shù)組進(jìn)行解題。
有一點(diǎn)需要注意的是,負(fù)數(shù)不算作回文數(shù)。
那么這道題如何解題呢?回文數(shù)和第7題(獲取整數(shù)的翻轉(zhuǎn)數(shù))有一定的相似之處。而第7題當(dāng)時(shí)的方法是,對(duì)整數(shù)取除10的余數(shù),即是當(dāng)前整數(shù)的最后一位。
這道題我們也可以先對(duì)整數(shù)進(jìn)行翻轉(zhuǎn),然后比較翻轉(zhuǎn)后的整數(shù)是否等于輸入的整數(shù),以確定這個(gè)數(shù)是否為回文數(shù)。
但是還有一種更快速的想法,因?yàn)槿绻@個(gè)輸入的整數(shù)為回文數(shù)。那么它翻轉(zhuǎn)后一半的數(shù)字之后,應(yīng)該和前半段的數(shù)字相等,我們將采用這種思路進(jìn)行解題。
解法if(x < 0 || x !=0 && x %10 ==0) return false; int res = 0; while(x > res){ res = res*10+x%10; x = x/10; } return(x==res || x == res/10);
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/70954.html
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ù)字是否為回文串,需要注意兩點(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上...
摘要:難度本題要求判定一個(gè)整數(shù)是否為回文數(shù)字比如都是回文數(shù)字但是不是回文數(shù)字所有負(fù)數(shù)都不是回文數(shù)字本題還有一個(gè)關(guān)鍵要求不能使用額外空間我理解這里的額外空間是指堆空間在程序中不能去額外的什么變量更不用說(shuō)提升空間復(fù)雜度直接上的解法解法 Determine whether an integer is a palindrome. Do this without extra space. Some ...
摘要:反轉(zhuǎn)比較法復(fù)雜度時(shí)間空間思路回文數(shù)有一個(gè)特性,就是它反轉(zhuǎn)后值是一樣的。代碼逐位比較法復(fù)雜度時(shí)間空間思路反轉(zhuǎn)比較有可能會(huì)溢出,但我們遍歷每一位的時(shí)候其實(shí)并不用保存上一位的信息,只要和當(dāng)前對(duì)應(yīng)位相等就行了。首先,負(fù)數(shù)是否算回文。 Palindrome Number Determine whether an integer is a palindrome. Do this witho...
Problem Find the largest palindrome made from the product of two n-digit numbers. Since the result could be very large, you should return the largest palindrome mod 1337. Example Input: 2Output: 987Ex...
閱讀 2429·2021-11-25 09:43
閱讀 1206·2021-09-07 10:16
閱讀 2626·2021-08-20 09:38
閱讀 2948·2019-08-30 15:55
閱讀 1467·2019-08-30 13:21
閱讀 900·2019-08-29 15:37
閱讀 1451·2019-08-27 10:56
閱讀 2102·2019-08-26 13:45