一、问题描述
Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.
意思是判断一个整数是否是一个回文数,回文数是从前开始读与从后开始读是一样的值的数。
二、生词
determine vi. /dɪ'tɜːmɪn/ 确定
palindrome n. /'pælɪndrəʊm/ 回文
backward adj. /'bækwəd/ 向后的
三、样例及说明
四、解题思路及代码
本题与求整数的反转数那题有异曲同工之妙,都是可以用数学的思想解题的。可以很容易得出这样的结论:如果一个数的反转数与这个数相等,那么说明这个数就是回文数。
1 class Solution { 2 public boolean isPalindrome(int x) { 3 if(x<0) return false; 4 if(x==0) return true; 5 int rev = 0; 6 int temp = x; 7 while(temp!=0) { 8 int pop = temp % 10; 9 temp /= 10; 10 rev = rev * 10 + pop; 11 } 12 if(x == rev) return true; 13 return false ; 14 } 15 }
我第一次解这个题是直接用StringBuffer的reverse()方法去做的,但是从运行时间来看,还是上面这个代码好点。。。