Skip to content
Related Articles
Open in App
Not now

Related Articles

How to check whether a passed string is palindrome or not in JavaScript ?

Improve Article
Save Article
  • Last Updated : 09 Jan, 2023
Improve Article
Save Article

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

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!