OneCompiler

Longest Palindrome substring in given string

178

const reverseOfString=(str, revStr='')=>{
if(str.length!==0){
revStr=revStr+str.charAt(str.length-1)
revStr=reverseOfString(str.substring(0, str.length-1), revStr)
}
return revStr
}

const longestPalindromeInString = (str) =>{
let rev = reverseOfString(str)
let part
let palSet=new Set()
let max=0
let longestPalindrome

for(i=0; i<str.length;i++){
  for(j=i+1; j<rev.length;j++){
    part=str.slice(i,j)
    if(rev.indexOf(part)!==-1 && part.length>1 && part===reverseOfString(part)){
      palSet.add(part)
    }
  }
}

for(e of palSet){
  if(max<e.length){
    max=e.length
    longestPalindrome=e
  }
}
return longestPalindrome

}

console.log(longestPalindromeInString('forgeeksskeegfor'))