摘要:有一點需要注意的是,負數不算作回文數。而第題當時的方法是,對整數取除的余數,即是當前整數的最后一位。那么它翻轉后一半的數字之后,應該和前半段的數字相等,我們將采用這種思路進行解題。
題目詳情
Determine whether an integer is a palindrome. Do this without extra space.想法題目要求我們在不占用額外空間的前提下,判斷一個整數是否是回文數。
這道題的描述有一丟丟讓人一頭霧水,這個不占用額外空間的意思主要是讓我們不要嘗試去轉換成字符串,或者是使用數組進行解題。
有一點需要注意的是,負數不算作回文數。
那么這道題如何解題呢?回文數和第7題(獲取整數的翻轉數)有一定的相似之處。而第7題當時的方法是,對整數取除10的余數,即是當前整數的最后一位。
這道題我們也可以先對整數進行翻轉,然后比較翻轉后的整數是否等于輸入的整數,以確定這個數是否為回文數。
但是還有一種更快速的想法,因為如果這個輸入的整數為回文數。那么它翻轉后一半的數字之后,應該和前半段的數字相等,我們將采用這種思路進行解題。
解法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);
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/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...
摘要:題目分析這是上的第題,難度為,判斷整型數字是否為回文串,需要注意兩點負數都不是回文小于的非負整數都是回文這一題與第題類似,也可以有兩種思路數組法和模十法。所以代碼可以如下改進能被整除的非整數和負數,返回 題目 Determine whether an integer is a palindrome. Do this without extra space. 分析 這是leetcode上...
摘要:難度本題要求判定一個整數是否為回文數字比如都是回文數字但是不是回文數字所有負數都不是回文數字本題還有一個關鍵要求不能使用額外空間我理解這里的額外空間是指堆空間在程序中不能去額外的什么變量更不用說提升空間復雜度直接上的解法解法 Determine whether an integer is a palindrome. Do this without extra space. Some ...
摘要:反轉比較法復雜度時間空間思路回文數有一個特性,就是它反轉后值是一樣的。代碼逐位比較法復雜度時間空間思路反轉比較有可能會溢出,但我們遍歷每一位的時候其實并不用保存上一位的信息,只要和當前對應位相等就行了。首先,負數是否算回文。 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...
閱讀 2416·2021-11-25 09:43
閱讀 1195·2021-09-07 10:16
閱讀 2603·2021-08-20 09:38
閱讀 2937·2019-08-30 15:55
閱讀 1449·2019-08-30 13:21
閱讀 884·2019-08-29 15:37
閱讀 1435·2019-08-27 10:56
閱讀 2093·2019-08-26 13:45