Solució Palíndrom

De wikiserver
Dreceres ràpides: navegació, cerca
var cadena = "La ruta nos aporto otro paso natural";
var resultado = "La cadena \""+cadena+"\" \n";
 
  // Pasar a minusculas la cadena
var cadenaOriginal = cadena.toLowerCase();
 
  // Convertir la cadena en un array
var letrasEspacios = cadenaOriginal.split("");
 
  // Eliminar los espacios en blanco (este paso es demasiado largo ya que no se utiliza la funcion "replace")
var cadenaSinEspacios = "";
for(i in letrasEspacios) {
    if(letrasEspacios[i] != " ") {
      cadenaSinEspacios += letrasEspacios[i];
    }
}
 
var letras = cadenaSinEspacios.split("");
var letrasReves = cadenaSinEspacios.split("").reverse();
 
// Este paso tambien es muy largo porque no se utiliza la sentencia "break"
var iguales = true;
for(i in letras) {
  if(letras[i] == letrasReves[i]) {
    // Todo bien
  }
  else {
    // Alguna letra es distinta, por lo que ya no es un palindromo
    iguales = false;
  }
}
 
if(iguales) {
  resultado += " es un palíndromo";
}
else {
  resultado += " no es un palíndromo";
}

alert( resultado);


otra solución

var palabra = "holaloh";
var acierto = true;
var i = 0;


while (acierto && i < palabra.length / 2)
{

    if (palabra.charAt(i) != palabra.charAt(palabra.length - 1 - i))
        acierto = false;


}

if (acierto == false)
    alert("false");
else
    alert("true");