6月8 力扣 迴文數

9. 迴文數

難度簡單1057收藏分享切換爲英文關注反饋

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。

示例 1:

輸入: 121
輸出: true

示例 2:

輸入: -121
輸出: false
解釋: 從左向右讀, 爲 -121 。 從右向左讀, 爲 121- 。因此它不是一個迴文數。

示例 3:

輸入: 10
輸出: false
解釋: 從右向左讀, 爲 01 。因此它不是一個迴文數。

進階:

你能不將整數轉爲字符串來解決這個問題嗎?

class Solution {
public:
    bool isPalindrome(int x)
    {
        if(x<0 ) return false;
        if(x>=0 && x<=9) return true;
        if(x%10 == 0) return false;
       vector<int> v1;
       while(x)
       {
           v1.push_back(x%10);
           x= x/10;
       }
       int i = 0;
       int j = 0;
       for(i = 0,j = v1.size()-1 ; i<=j ; i++,j--)
       {
           if(v1[i] != v1[j])
           return false;
       }
       return true;
    }
};

 

c++之to_string()函數

函數原型:
string to_string (int val);
string to_string (long val);
string to_string (long long val);
string to_string (unsigned val);
string to_string (unsigned long val);
string to_string (unsigned long long val);
string to_string (float val);
string to_string (double val);
string to_string (long double val);

功能:

將數值轉化爲字符串。返回對應的字符串。

 

class Solution {
public:
    bool isPalindrome(int x)
    {
        string str1 = to_string(x);
        // itoa():將整型值轉換爲字符串。
        string str2 = str1;
        reverse(str2.begin(),str2.end());
        if(str2 == str1)
        return true;
        return false;

    }
};

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章