代码1
Runtime: 8 ms, faster than 45.98% of Java online submissions for Palindrome Number.
class Solution {
public boolean isPalindrome(int x) {
if(x < 0) return false;
int digit = 1;
int temp = x;
while ((temp % 10) != temp) {
temp /= 10;
digit++;
}
int[] arr = new int[digit];
temp = x;
for (int i = digit - 1; i >= 0; i--) {
arr[i] = temp % 10;
temp /= 10;
}
int left = 0, right = digit - 1;
while (left < right) {
if (arr[left++] != arr[right--]) return false;
}
return true;
}
}
代码2
参考最高赞的答案
Runtime: 6 ms, faster than 100.00% of Java online submissions for Palindrome Number.
class Solution {
public boolean isPalindrome(int x) {
if (x<0 || (x!=0 && x%10==0)) return false;
int rev = 0;
while (x>rev){
rev = rev*10 + x%10;
x = x/10;
}
return (x==rev || x==rev/10);
}
}