JSFiddle - React, Tailwind, and code Playground
by Rishabh Sharma
JavaScript
function isPalindrome (str) {
return reverse(str) === str;
}
function reverse(str) {
let reverseStr = '';
for(let i = str.length; i >= 0; i--) {
reverseStr += str.charAt(i);
}
return reverseStr;
}
function longestPalindrome(str) {
let palindromeList = [];
for(let i = 0; i < str.length; i++) {
for(let j = str.length; j >= i; j--) {
if(j > i + 1 && isPalindrome(str.substring(i, j))) {
palindromeList.push(str.substring(i, j));
}
}
}
console.log(palindromeList);
if(palindromeList.length) {
let longestPalindrome = palindromeList[0];
palindromeList.forEach(palindrome => {
if(palindrome.length > longestPalindrome.length) {
longestPalindrome = palindrome;
}
});
console.log('longest palindrome is: ', longestPalindrome);
} else {
console.log('string has no palindromes!');
}
}
longestPalindrome('madam is great, but madadam is even greater mandadnam!');