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