其實是很簡單的乙個東西,只不過覺得今天的寫了之後看了別人的**覺得挺有意思的,所以記錄下來。
要求就是給乙個int型的數,判斷是否為回文數。
我的想法很簡單,就是把這個數的每乙個數字分離開放到乙個陣列,然後迴圈跑一遍判斷是不是回文就好了。
**如下:
bool ispalindrome(int x)
for(i =0; i < len /2; i++)
return
true;
}
不過如何在沒有開多餘空間的情況下解決這個問題呢?
bool ispalindrome(int x)
if(ans == x)
return
true;
return
false;
}
這個我的確是沒想到啊,就連之前做把乙個int型資料反轉我也是像之前那樣開乙個陣列先存起來再反轉。
當大家看到回文應該很希望它是乙個字串吧,畢竟求回文串的manacher演算法既簡單又好用,所以當它是乙個整型資料時,我們可以把它轉換為字串,如果是判斷這個數是不是回文數的話,我們就可以直接以中點為對稱中心來比較兩邊是否相同;如果是讓你求這個數的最長回文數的話,還可以使用manacher演算法。
bool ispalindrome(int x)
return
true;
}
回文數的判斷
起初考慮的用到了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 看到題解的優化方法,是依次取餘 我也...
判斷回文數
如果乙個數的反向倒置數和它的順向數一樣,那麼這個數稱為回文數。編寫乙個測試程式,提示使用者輸入乙個整數值,然後報告這個數是不是回文數。我先後一共寫了三個函式。方法一 由於題目要求輸入的是整數值,所以按照整數的方法倒置數字,與原數比較即可。public class palindrom public s...
判斷回文數
回文 是指正讀反讀都能讀通的句子,它是古今中外都有的一種修辭方式和文字遊戲,如 我為人人,人人為我 等。在數學中也有這樣一類數字有這樣的特徵,成為回文數 palindrome number 設n是一任意自然數。若將n的各位數字反向排列所得自然數n1與n相等,則稱n為一回文數。例如,若n 123432...