/** * @param {number} x * @return {boolean} */ var isPalindrome = function(x) { let a, b, c = 0; a = x%10; x=xa; b= x/10; c= b%10; let d = bc; let f = d/10; let g = (a*100) + (c*10) + f; if (g==x && x>0) return "true"; else return "false"; };cuando el número es negativo no dice falso, dice verdadero en su lugar. Pero agregué la condición x>0. ¿Cuál es el problema? Y, por cierto, mi código tampoco se ve bien, tal vez no sea una buena manera de resolver el problema del palíndromo. Y tampoco estoy tan seguro de si funciona con números de más de 3 dígitos.
Supongo que quieres usar operaciones matemáticas para obtener las respuestas como divisiones y módulos. Puede usar el siguiente código que funciona para cualquier número:
/** * @param {number} x * @return {boolean} */ var isPalindrome = function (x) { if (x < 0) { return false; } const original = x; let pali = 0; while (x > 0) { pali = (x % 10) + pali * 10; x = Math.floor(x / 10); } return original === pali; };Además, la evaluación condicional en su código no está en el lugar correcto, lo primero que debe hacer es evaluar si el número es positivo, si el número es negativo, no tiene que hacer ningún procesamiento porque sabe que el número no es un palíndromo.