写在前面,参考的力扣官网的解题
一、java代码
/*
* @lc app=leetcode.cn id=9 lang=java
*
* [9] 回文数
*/
// @lc code=start
class Solution {
public boolean isPalindrome(int x) {
//如果是负数,则一定不是回文数,直接false
if(x<0)
return false;
//cur表示倒序数,num表示每次剃掉末尾的数
int cur=0;
int num=x;
//将倒序数求出来
//当num不为0时一直循环
while(num!=0){
//改变当前进度的倒序数
cur=cur*10+num%10;
//改变num
num/=10;
}
//比较原数与原数的倒序数是否相等,相等则为回文数,否则不是
return cur==x;
}
}
// @lc code=end
二、解题思路
1、如果是负数则一定不是回文数,直接false
2、如果是正数,则将其倒序数计算出来,然后比较和原数值是否相等
3、如果是回文数则相等,返回true,如果不是则返回false