How to check whether a passed string is palindrome or not in JavaScript ?
Given a string, our task is to find string is palindrome or not.
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.
Approach 1: In this approach we use following steps.
- First we iterate over a string in forward and backward direction.
- Check if all forward and backward character matches, return true.
- If all forward and backward character does not matches, return false.
- If return is true, it is a palindrome.
Example:
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> |
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 which stores reverse of the passed string.
- Compare the string to reverse_str .
- If matches, it is a palindrome.
- Else string is not a palindrome.
Example:
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.