¿Cómo verificar si una string pasada es palíndromo o no en JavaScript?

Dada una string, nuestra tarea es encontrar la string si es palíndromo o no.

Example:
Input : "race"
Output : passed string is not a palindrome
Explanation : if we write "race" in reverse that is "ecer" it not 
matches with first string so it is not a palindrome.
Example 2:
Input : "hellolleh"
Output : passed string is palindrome.

Enfoque 1: En este enfoque usamos los siguientes pasos.

  • Primero iteramos sobre una string en dirección hacia adelante y hacia atrás.
  • Verifique si todos los caracteres hacia adelante y hacia atrás coinciden, devuelva verdadero.
  • Si todos los caracteres hacia adelante y hacia atrás no coinciden, devuelve falso.
  • Si el retorno es verdadero, es un palíndromo.

Ejemplo: 
 

Javascript

<script>
  // function that check str is palindrome or not
  function check_palindrome( str )
  {
    let j = str.length -1;
    for( let i = 0 ; i < j/2 ;i++)
    {
      let x = str[i] ;//forward character
      let y = str[j-i];//backward character
      if( x != y)
      {
        // return false if string not match
        return false;
      }
    }
    /// return true if string is palindrome
    return true;
     
  }
 
  //function that print output is string is palindrome
  function is_palindrome( str )
  {
    // variable that is true ig string is palindrome
    let ans = check_palindrome(str);
    //condition checking ans is true or not
    if( ans == true )
    {
      console.log("passed string is palindrome ");
    }
    else
    {
      console.log("passed string not a palindrome");
    }
  }
  // test variable
  let test = "racecar";
  is_palindrome(test);
</script>

 
Producción :

passed string is palindrome.

Enfoque 2: Otro enfoque es invertir una string y verificar si la string inicial coincide con la string inversa o no.

Siga los siguientes pasos: 

  • Inicialice reverse_str una variable que almacena el reverso de la string pasada.
  • Compare la string con reverse_str .
  • Si coincide, es un palíndromo.
  • De lo contrario, la string no es un palíndromo.

Ejemplo: 

Javascript

<script>
  // function to reverse the string
  function reverse( str )
  {
    // variable holds reverse string
    let rev_str = "";
    for( let i = str.length-1 ;i >= 0 ;i--)
    {
      rev_str+= str[i];
    }
    // return reverse string
    return rev_str;
  }
 
  //  function checking string is palindrome or not
  function is_palindrome( str )
  {
    reverse_str = reverse(str);
    //  condition checking if reverse str is
    // same as string it is palindrome
    // else not a palindrome
    if( reverse_str === str)
    {
      console.log("passed string is palindrome ");
    }
    else
    {
      console.log("passed string is not palindrome")
    }
  }
  let test = "hellolleh";
  is_palindrome(test);
</script>

 
Producción :

passed string is palindrome.

Enfoque-3: Otro enfoque, que es el más corto, utiliza el método split(), reverse() y join().

  • Divida la string de caracteres en varios caracteres diferentes (aunque no está ordenado en este momento).
  • Utilice el método reverse() para invertir alfabéticamente todos los caracteres de la string.
  • Luego aplique el método join() para unir todos los caracteres de la string (que ahora están ordenados).

A continuación se muestra la implementación del enfoque anterior:

Javascript

// JavaScript code in order to check string palindrome...
 
let checkPalindrome = (stringg) => {
  return stringg === stringg.split("").reverse().join("");
};
 
console.log("Is Palindrome? : " + checkPalindrome("noon"));
console.log("Is Palindrome?: " + checkPalindrome("apple"));
 
// This code is contributed by Aman Singla...

Producción:

Is Palindrome? : true
Is Palindrome?: false

Publicación traducida automáticamente

Artículo escrito por satyam00so y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *