Pregunta de entrevista de Bloomberg

Write a function to check whether an integer is a palindrome without using arrays.

Respuestas de entrevistas

Anónimo

28 ene 2015

Just reverse the number and compare with the original one. Note, that it actually depends on the radix base, whether the number is a palindrome (in that base) or not. bool is_palindrome(const unsigned n, const unsigned radix = 10) { if (radix <= 0) return false; unsigned x = n; unsigned reverse = 0; while (x != 0) { reverse *= radix; reverse += x % radix; x /= radix; } // 0 is considered a palindrome here // (reads the same way from both sides after all) return n == reverse; }

4

Anónimo

13 sept 2015

class practice{ public static void main(String args[]){ System.out.println(pal(987789)); } public static boolean pal (int a){ if(a/10 == 0){ return true; } int unit=a%10; int d=a; int count=0; while(d/10>0){ d=d/10; count++; } if(d%10==unit){ return pal((a-unit*(int)Math.pow(10.0,count))/10); } return false; } }