题解 | #最长回文子串#

最长回文子串

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
}
全部评论

相关推荐

10-21 23:48
蚌埠坦克学院
csgq:可能没hc了 昨天一面完秒挂
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务