Determine whether an integer is a palindrome. Do this without extra space.
The algorithm is easy, we first obtain the number of digits and then we "traverse the number" obtaining the i first digit and i last digit.
Solution:
public class Solution {
public boolean isPalindrome(int x) {
if(x<0)
return false;
if(x==0)
return true;
int ndigits = (int)Math.log10(x)+1;
for(int i=0; i<ndigits/2; i++)
{
int digitBegin = (x/(int)Math.pow(10,(ndigits-i-1))) % 10;
int digitEnd = (x/(int)Math.pow(10,i)) % 10;
if (digitBegin != digitEnd)
return false;
}
return true;
}
}
No comments :
Post a Comment