How to check whether a passed string is palindrome or not in JavaScript ?
In this article, we are given a string, our task is to find string is palindrome or not. A palindrome is a word or phrase that reads the same backwards as forwards. We have a few methods for this task which are described below.
Example: Input : "race" Output : passed string is not a palindrome Explanation : if we write "race" in reverse that is "ecar" it not matches with first string so it is not a palindrome. Example 2: Input : "hellolleh" Output : passed string is palindrome.
Approach 1: In this approach, we use the following steps.
- First, we iterate over a string in forward and backward directions.
- Check if all forward and backward character matches, and return true.
- If all forward and backward character does not matches, return false.
- If return is true, it is a palindrome.
Example: This example shows the use of the above-explained approach.
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 if string is palindrome function is_palindrome( str ) { // variable that is true if 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> |
Output :
passed string is palindrome.
Approach 2: Another approach is to reverse a string and check if the initial string matches with the reverse string or not.
Follow the following steps :
- Initialize reverse_str a variable that stores the reverse of the passed string.
- Compare the string to reverse_str .
- If matches, it is a palindrome.
- Else string is not a palindrome.
Example: This example shows the use of the above-explained approach.
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> |
Output :
passed string is palindrome.
Approach-3: Another approach, which is through the shortest approach, uses the split(), reverse(), and join() methods.
- Split the string of characters into several different characters (which is though unsorted at the moment).
- Use the reverse() method to reverse all the characters of the string alphabetically.
- Then apply the join() method in order to join all the characters of the string (which are now sorted).
Example: Below is the implementation of the above approach:
Javascript
<script> // 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" )); </script> |
Output:
Is Palindrome? : true Is Palindrome?: false
Please Login to comment...