判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121 输出: true
示例 2:
输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。
思路:
根据上一道整数翻转题的思路,我将整数放入vector中,比较前后大小
1 class Solution { 2 public: 3 bool isPalindrome(int x) { 4 if(x<0) 5 return false; 6 vector<int> vec; 7 while(x!=0) 8 { 9 int pop = x%10; 10 x=x/10; 11 vec.push_back(pop); 12 13 } 14 auto j=vec.size(); 15 for(int i =0;i<vec.size()/2;i++) 16 { 17 if(vec[i]!=vec[j-1]) 18 return false; 19 --j; 20 } 21 return true; 22 } 23 };