问题描述
判断一个正整数是不是回文数。
回文数的定义是,将这个数反转之后,得到的数仍然是同一个数。
样例
11, 121, 1, 12321 这些是回文数。
23, 32, 1232 这些不是回文数。
求解
需要注意32位整数反转之后的整数可能溢出,例如,32位整数最大的是2147483647,反转后的7463847412显然比原数大。
class Solution {
public:
/*
* @param num: a positive number
* @return: true if it's a palindrome or false
*/
bool isPalindrome(int num) {
// write your code here
vector<int> v;
while(num){
v.push_back(num % 10);
num /= 10;
}
if(v.size() == 0) return true;
for(int i = 0; i < v.size() / 2; ++i)
{
if(v[i] != v[v.size() - 1 - i]) return false;
}
return true;
}
};