But it's terribly silly. And the compiler might want to optimize it by using temporary variables, and that's a kind of extra space I'm not responsible for.

```
public boolean isPalindrome(int x) {
if (x < 0 || x > 0 && x % 10 == 0) {
return false;
} else {
return x / 10 == 0 || x / 10 == x % 10 || x / 100 > 0 && x / 100 == x % 10 // 1-3 digits
|| x / 100 > 0 && x / 100 == x % 10 * 10 + x % 100 / 10 // 4 digits
|| x / 1000 > 0 && x / 1000 == x % 10 * 10 + x % 100 / 10 // 5 digits
|| x / 1000 > 0 && x / 1000 == x % 10 * 100 + x % 100 / 10 * 10 + x % 1000 / 100 // 6 digits
|| x / 10000 > 0 && x / 10000 == x % 10 * 100 + x % 100 / 10 * 10 + x % 1000 / 100 // 7 digits
|| x / 10000 > 0 && x / 10000 == x % 10 * 1000 + x % 100 / 10 * 100 + x % 1000 / 100 * 10
+ x % 10000 / 1000 // 8 digits
|| x / 100000 > 0 && x / 100000 == x % 10 * 1000 + x % 100 / 10 * 100 + x % 1000 / 100 * 10
+ x % 10000 / 1000 // 9 digits
|| x / 100000 > 0 && x / 100000 == x % 10 * 10000 + x % 100 / 10 * 1000 + x % 1000 / 100 * 100
+ x % 10000 / 1000 * 10 + x % 100000 / 10000; // 10 digits
}
}
```