JavaScript Program to Check Whether the String is Symmetrical or Not

In this article, we will see how to check whether the given string is symmetric or not. The symmetrical string is one that is similar from the starting to mid and mid to end.

Example:

Input: khokho
Output: 
The entered string is symmetrical
Input: madam
Output: 
The entered string is not symmetrical
Input:amaama
Output:
The entered string is symmetrical

Methods to Check Whether the Given String is Symmetric or Not

Table of Content

  • Method 1: Naive method using loops
  • Method 2: Using the slice method
  • Method 3: Using substring method
  • Method 4: Using Iterative Approach
  • Method 5: Using split, reverse, and join methods

Method 1: Naive method using loops

Example:

Javascript
let str = "abcdabc";
let mid = Math.ceil(str.length / 2);

for (let i = 0; i + mid < str.length; i++) {
    if (str[i] !== str[mid + i])
        return console.log("String is not Symmetric");
}

console.log("The Given string is symmetric");

Output
The Given string is symmetric

Method 2: Using the slice method

Example:

Javascript
let str = "abcdabc";
mid = Math.floor(str.length / 2);
if (
    str.slice(0, mid) ===
    str.slice(mid + (str.length % 2 === 0 ? 0 : 1))
)
    console.log("The given string is Symmetric");
else {
    console.log("The given string is Not Symmetric");
}

Output
The given string is Symmetric

Method 3: Using substring method

Javascript
let str = "abcdabc";
mid = Math.floor(str.length / 2);
if (
    str.substring(0, mid) ===
    str.substring(mid + (str.length % 2 === 0 ? 0 : 1))
)
    console.log("The given string is Symmetric");
else {
    console.log("The given string is Not Symmetric");
}

Output
The given string is Symmetric

Method 4: Using Iterative Approach

Example:

JavaScript
function isSymmetric(str) {
    let left = 0;
    let right = str.length - 1;

    while (left < right) {
        if (str[left] !== str[right]) {
            return false;
        }
        left++;
        right--;
    }

    return true;
}

let inputStr = "abcdcba";

if (isSymmetric(inputStr)) {
    console.log("The given string is Symmetric");
} else {
    console.log("The given string is Not Symmetric");
}

Output
The given string is Symmetric

Method 5: Using split, reverse, and join methods

This method involves splitting the string into two halves, reversing the second half, and then comparing the two halves.

Example: This method provides a clear and concise way to check for symmetry by leveraging built-in JavaScript methods, making the code easy to understand and maintain.

JavaScript
let str = "abccba";
let mid = Math.floor(str.length / 2);
let firstHalf = str.slice(0, mid);
let secondHalf = str.slice(mid + (str.length % 2 === 0 ? 0 : 1));

// Reverse the second half
secondHalf = secondHalf.split('').reverse().join('');

if (firstHalf === secondHalf) {
    console.log("The given string is Symmetric");
} else {
    console.log("The given string is Not Symmetric");
}

Output
The given string is Symmetric




Contact Us