最長回文子串

2021-08-28 04:13:32 字數 795 閱讀 8018

1. 暴力解法

// 1. 暴力解法 

// 時間複雜度 o(n^3)

// 判斷str[i...j]是否是回文串

bool ispalindrome(const

char *str, int begin, int end)

else

return

false;

}return

true;

}// 返回字串str的最長回文子串的長度

int longestpalindrome(const

char *str)

2. 中心擴充套件法
// 2. 中心展開法

// 時間複雜度 o(n^2)

// 以mid為中心軸的回文子串的長度

int palindrome(const

char *str, int mid)

return right - left - 1;

}int longestpalindrome01(const

char *str)

return longest;

}

3. 動態規劃法
// 3. 動態規劃法

// 時間複雜度 o(n^2)

int longestpalindrome02(const

char *str)

}for (int i = 3; i < len; i++)}}

return ans;

}

最長回文子串 最長回文子串行

1.最長回文子串行 可以不連續 include include include include using namespace std 遞迴方法,求解最長回文子串行 intlps char str,int i,int j intmain include include include using n...

最長回文子串

描述 輸入乙個字串,求出其中最長的回文子串。子串的含義是 在原串連續出現的字串片段。回文的含義是 正著看和倒著看是相同的,如abba和abbebba。在判斷是要求忽略所有的標點和空格,且忽略大小寫,但輸出時按原樣輸出 首尾不要輸出多餘的字串 輸入字串長度大於等於1小於等於5000,且單獨佔一行 如果...

最長回文子串

輸入乙個字元,求出其中最長的回文子串。子串的含義是 在元串中連續出現的字串片段。回文的含義是 正看和倒看相同,如abba和yyxyy,在判斷時候應該忽略所有的空格和標點符號,且忽略大小寫,但輸出應該保持原樣,輸入的字元長度不超過5000,且佔據單獨一行,輸出最長的回文子串 如有多個,輸出,起始位置最...