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:
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:
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
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:
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.
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