起初考慮的用到了vector,將他們拆分以後依次判斷頭和尾,近乎暴力匹配
if
(x <0)
else
if(x <10)
vector<
int> v;
while
(x)if
(v.size()
==2)else
}for
(int i =
0; i < v.
size()
/2; i++)}
return
true
;
看到題解的優化方法,是依次取餘(我也想到了,但是怎麼判斷到達中點沒有想到)。
中點的判斷方法是當取餘乘起來的數大於原數除掉以後的數即可。如果是奇數情況的話,可以讓前面做除的x在除一次10進行比較。
class
solution
int revertednumber =0;
while
(x > revertednumber)
// 當數字長度為奇數時,我們可以通過 revertednumber/10 去除處於中位的數字。
// 例如,當輸入為 12321 時,在 while 迴圈的末尾我們可以得到 x = 12,revertednumber = 123,
// 由於處於中位的數字不影響回文(它總是與自己相等),所以我們可以簡單地將其去除。
回文數的判斷
其實是很簡單的乙個東西,只不過覺得今天的寫了之後看了別人的 覺得挺有意思的,所以記錄下來。要求就是給乙個int型的數,判斷是否為回文數。我的想法很簡單,就是把這個數的每乙個數字分離開放到乙個陣列,然後迴圈跑一遍判斷是不是回文就好了。如下 bool ispalindrome int x for i 0...
判斷回文數
如果乙個數的反向倒置數和它的順向數一樣,那麼這個數稱為回文數。編寫乙個測試程式,提示使用者輸入乙個整數值,然後報告這個數是不是回文數。我先後一共寫了三個函式。方法一 由於題目要求輸入的是整數值,所以按照整數的方法倒置數字,與原數比較即可。public class palindrom public s...
判斷回文數
回文 是指正讀反讀都能讀通的句子,它是古今中外都有的一種修辭方式和文字遊戲,如 我為人人,人人為我 等。在數學中也有這樣一類數字有這樣的特徵,成為回文數 palindrome number 設n是一任意自然數。若將n的各位數字反向排列所得自然數n1與n相等,則稱n為一回文數。例如,若n 123432...