function longestPalindromeSubstring(str : string) {
const len: number = str.length;
let longestLength: number = 1;
let start: number = 0;
for (let i: number = 0; i < len; i++) {
for (let j: number = i; j < len; j++) {
let palindrome = 1;
for (let k: number = 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: number = longestPalindromeSubstring(str);
console.log("Length palindrome substring length = " + result);
/*
run:
"Longest palindrome substring = proggorp"
"Length palindrome substring length = 8"
*/