import java.util.*; public class Solution { public boolean isPalindrome (int x) { // 预处理 if (x < 0) return false; if (x == 0) return true; // 初始化 int div = 1; // 记录最高位的权重 while(x / div >= 10) div *= 10; // 从数字首尾依次比较 while (x > 0) { int head = x / div; int tail = x % 10; // 两者不同则不是回文 if (head != tail) return false; // 两者相同则更新数据 x = (x % div) / 10; // 去除头尾数字 div /= 100; } // 遍历结束 // 全部数字匹配成功,其为回文数字 return true; } }