Leetcode - 5, encuentra el método de expansión de centro de subcadena de palíndromo más largo

Dada una cadena s, encuentre la subcadena de palíndromo más larga en s. Puede suponer que la longitud máxima de s es 1000.
Ejemplo 1:

输入: "babad"
输出: "bab"

Ejemplo 2

示例 2:

输入: "cbbd"
输出: "bb"
class Solution {
    public String longestPalindrome(String s) {
    int start=0,end=0;
    for(int i=0;i<s.length();i++){
        int len1=maxword(s,i,i);
        int len2=maxword(s,i,i+1);
        int len=Math.max(len1,len2);
        if(len>end-start){
            start=i-(len-1)/2;
            end=i+len/2;
        }
    }
    return s.substring(start,end+1);
    }
public int maxword(String s,int L,int R){
    while(L>=0&&R<s.length()&&s.charAt(L)==s.charAt(R)){
        L--;
        R++;
    }
    return R-L-1;
}
}
Publicado 6 artículos originales · me gusta 0 · visitas 19

Supongo que te gusta

Origin blog.csdn.net/qq_44158395/article/details/105260212
Recomendado
Clasificación