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,且佔據單獨一行,輸出最長的回文子串 如有多個,輸出,起始位置最...