How to find longest palindrome substring in Node.js

1 Answer

0 votes
function longestPalindromeSubstring(str) {
    const len = str.length;
    let longestLength = 1;
    let start = 0;
    
    for (let i = 0; i < len; i++) {
        for (let j = i; j < len; j++) {
            let palindrome = 1;
            for (let k = 0; k < (j - i + 1) / 2; k++) {
                if (str[i + k] != str[j - k]) {
                    palindrome = 0;
                }
            }
            if (palindrome != 0 && (j - i + 1) > longestLength) {
                start = i;
                longestLength = j - i + 1;
            }
        }
    }
        
    let s = "";
    for (let i = start; i <= start + longestLength - 1; i++) {
        s += str[i];
    }
    console.log("Longest palindrome substring = " + s);
    
    return longestLength;
}

const str = "qabcbaproggorpxyyxzv";
const result = longestPalindromeSubstring(str);
console.log("Length palindrome substring length = " + result);




/*
run:

Longest palindrome substring = proggorp
Length palindrome substring length = 8

*/

 



answered Jun 4, 2023 by avibootz
edited Jun 4, 2023 by avibootz
...