题解 | #最长回文子串#
最长回文子串
http://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* @param A string字符串
* @param n int整型
* @return int整型
*/
先两次for循环找到所有回文子串,
然后对每个子串进行判断是不是最大的,返回即可
export function getLongestPalindrome(A: string, n: number): number {
// write code here
let arr = Array.from(A);
let childStr = [];
let temp = null;
let max = 0;
for(let i = 1;i<arr.length;i++){
for(let j = 0;j<=i;j++){
if(ishui(arr.slice(j,i+1))){
childStr.push(arr.slice(j,i+1).join(''))
}
}
}
for(let s = 0;s<childStr.length;s++){
max = Math.max(childStr[s].length,max)
}
return max
}
function ishui(arr){
let start = 0;
let end = arr.length-1;
for(let i = 0;i<arr.length;i++){
if(arr[start] !== arr[end]){
return false;
}
start = start+1;
end = end-1;
}
return true
}