這道題首先若數字是負數一定不是回文數,是以我們首先可以判斷是否小于0,滿足則傳回False,否則我們可以從回文的定義出發,滿足條件的就是反轉後與原來的數相等。是以我們可以将目前的數進行反轉(這裡可以參考之前的簡單題中的整數反轉的思路),然後與之前相等就是回文數傳回True,否則傳回False。具體代碼如下:
class Solution {
public:
bool isPalindrome(int x) {
long ans=0;
int num=x;
if(x<0)
return false;
else
while(x!=0)
{
int temp=x%10;
x =x/10;
ans = ans*10+temp;
}
if (ans==num)
return true;
else
return false;
}
};