给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
class Solution {
/**
* 首先明确 /是取整(即商的整数) %是取余(左边小于右边,结果为左边,左边大于右边,结果为余数)
* 思路: 1.假设为4位数 x/1000的结果为千位数字 x%10的结果为个位数字 比较千位数与个位数是否相等
* 2.取出中间数字 继续循环比较
*
* @param x 入参
* @return 是否为回文数
*/
public boolean isPalindrome(int x) {
if (x < 0) {
return false;
}
//首先确定 对x取整的数字
int target = 1;
while (x / target >= 10) {
target *= 10;
}
//循环左右各取一个数字进行比较
while (x > 0) {
//获取左边的数字
int left = x / target;
int right = x % 10;
if (left != right) {
return false;
}
//将x的最左侧和最右侧的数字去掉
x = (x % target) / 10;
//去掉两位数字 所以target需要除以100
target /= 100;
}
return true;
}
}
该博客介绍了一个用于检查整数是否为回文数的Java实现。算法通过逐层比较数字的首位来判断,从千位到个位,依次对比,确保在去除最外层的数字后,剩余部分仍为回文。这种方法有效地解决了回文数的判断问题。
420

被折叠的 条评论
为什么被折叠?



