题意:判断一个整数是不是回文。
思路1:不断取出整数的每一位,放入数组,再遍历数组,看对应位是否相等。
这是最基础的思路,但是直觉上是不太好的。我们现在想一想有没有简单的办法.
如果我们不去一位一位的比的话,那么直观的代替方法就是,整个反转比较。如果我们把int给反过来,看和原来的是不是相等,这个思路实现如何呢?我们只能不断取得最低位,但是把这个最低位做高位,所以,不断乘10,再加上新取得的最低位。
public class Solution {
public boolean isPalindrome(int x) {
int old = x;
int res = 0;
while(x > 0)
{
res = res*10 + x%10;
x /= 10;
}
return old == res;
}
}