一半判别法 int revertedNumber = 0; while (x > revertedNumber) { revertedNumber = revertedNumber * 10 + x % 10; x /= 10; } return x == revertedNumber || x == revertedNumber/10; 回文数是偶数位:那么循环到正中间的时候剩下的值(即x)与revertedNumber是相等的奇数位,返回的x比revertedNumber少位,比较的时候注意到这个就可以了