1. 程式人生 > >leetcode 9. Palindrome Number(判斷是不是迴文數)

leetcode 9. Palindrome Number(判斷是不是迴文數)

題目要求:

判斷一個整數是不是迴文數, 返回 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); } };

原題連結:https://leetcode.com/problems/palindrome-number/