難度簡單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;
}
};