leetcode 9. Palindrome Number(判斷是不是迴文數)
阿新 • • 發佈:2018-12-31
題目要求:
判斷一個整數是不是迴文數, 返回 true or false。
迴文數的定義:在數學中 設n是一任意自然數。若將n的各位數字反向排列所得自然數n1與n相等,則稱n為一回文數。例如,若n=1234321,則稱n為一回文數;但若n=1234567,則n不是迴文數。(來源百度百科迴文數)
示例:
Example 1
Input : 121
Output : true
Example 2
Input : -121
Output :false
Example 3
Input : 120
Output : 21
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
思路:
本題可以參考(leetcode 7 翻轉一個整數leetcode 7)的做法,將輸入的數字通過to_string()進行型別轉換,然後通過庫函式reverse()進行倒序操作,最後判斷兩個數字是否相等即可。
與第7題不同的是:
由於本題需要進行比較,所以倒序的結果要進行儲存
主要程式碼 ( C++ ):
// leetcode 009
// palindrome number
class Solution {
public:
bool isPalindrome(int x) {
string s = to_string(x);
string r = s;
reverse(r.begin(),r.end());
return(r==s);
}
};