Determine whether an integer is a palindrome. Do this without extra space.
click to show spoilers.
Subscribe to see which companies asked this question
解题思路:思路1:将整数转化成字符串,然后对比。这个需要额外的空间。思路2: 就是分别从两端取得数字,然后进行对比,这样需要对10进行很多次操作,无需额外的空间。
public class Solution {
public boolean isPalindrome(int x) {
if(x < 0)
{
return false;
}
if(x < 10)
{
return true;
}
int len = 1;
while(x/len >= 10)
{
len *= 10;
}
while(x > 0)
{
int left = x / len;
int right = x % 10;
if(left != right)
{
return false;
}else
{
x = (x%len)/10;
len = len/100;
}
}
return true;
}
}