题目:Determine whether an integer is a palindrome. Do this without extra space.
不使用其它空间的意思是不是不调用其它函数??…
Palindrome integer就是说正看倒看都是一样的整数。比如23432,121等。
题目给的提示有:负数是否可以成为回文?给出的答案是不能。这也就意味着0可以。在考虑number reverse的时候,如果直接用integer或者string,要考虑溢出的问题,这个问题在之前的reverse integer中有遇到过,所以考虑使用long的数据类型。
考虑输入的int 数据是否在取值范围之内。
public class Solution {
public boolean isPalindrome(int x) {
if(x>Integer.MAX_VALUE ||x<Integer.MIN_VALUE){
return false;
}
long num=0;
long origin=(long)x;
if(x>0 || x==0){
while(x!=0){
num=num*10+x%10;
x=x/10;
}
if(origin==num){
return true;
}else{return false;}
}else{return false;}
}
}