回文数
https://leetcode-cn.com/problems/palindrome-number/
回文数是指正序读和倒序读都一样的整数;
思路:
- 负数不是、个位数为 0 的且大于 10 的数不是;
- 反转数字的一半,例如
1221,返回后面的21为12,再与前面的12做比较;
首先获取最后一位数,1221 % 10 得到 1,同时移除最后一位数 1221 / 10为 121;
再 122 % 10得到 2,122 / 10 得到 12
public static boolean printFun(int x) {if (x < 0 || (x != 0 && x % 10 == 0)) {return false;}int revNum = 0;// 原始数字小于反转数字时,说明已经反转一半while (x > revNum) {revNum = revNum * 10 + x % 10;x /= 10;}// 原始数字为偶数 为奇数return x == revNum || x == revNum / 10;}
