题解 | #最长回文子串#

最长回文子串

http://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af

模拟 分情况讨论 看代码 很好理解

public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param A string字符串 
     * @return int整型
     */
    int getLongestPalindrome(string A) {
        // write code here
        int len = A.size();
        if(len ==0 || len == 1) return len;
        int max_len = 1;
        for(int i=0;i<len;i++){
            // 一种 奇数长度
            int j=i,k=i+1;
            while(j>=0 && k < len && A[j] == A[k]){
                max_len = max_len > k-j+1 ? max_len: k-j+1;
                j--;
                k++;
            }
            
        }
        for(int i=0;i<len;i++){
            // 一种 偶数长度
            int j=i-1,k=i+1;
            while(j>=0 && k < len && A[j] == A[k]){
                max_len = max_len > k-j+1 ? max_len: k-j+1;
                j--;
                k++;
            }
            
        }
        return max_len;
    }
};
全部评论

相关推荐

求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客企业服务