Package Level2;/***** Palindrome Number ** Determine whether an integer is a palindrome. Do this without extra space. click to show spoilers. Some hints: cocould negative integers be palindromes? (Ie,-1) If you are thinking of converting the integer to string, note the restriction of using extra space. you coshould also try reversing an integer. however, if you have solved the problem "Reverse Integer", you know that the reversed integer might overflow. how wocould you handle such case? There is a more generic way of solving this problem. */public class S9 {public static void main (String [] args) {System. out. println (isPalindrome (10101);} public static boolean isPalindrome (int x) {int digits = 0; int tmp = x; // calculates the number of digits while (tmp! = 0) {tmp/= 10; digits ++;} int div = (int) Math. pow (10, digits-1); return rec (x, div);} // recursively compares public static boolean rec (int x, int div) {if (x <0) {// negative return false;} if (x <10) {// return true for a single digit;} int quotient = x/div; // maximum int remainder = x % 10; // if (quotient! = Remainder) {return false;} // update the divisor and dividend return rec (x-quotient * div-remainder)/10, div/100 );}}