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;
    }
}