题目大意
https://leetcode.com/problems/shortest-palindrome/
在字符串之前加最少的字符使得新的字符串为回文串。
题目分析
本题要先求出最长回文前缀,利用了kmp算法中的辅助数组,关于kmp算法可以看我之前的博客,如果理解了lps数组的含义,那么就很好解本题了,原字符串s,原字符串的s的反转为s_rev,那么s+"#"+s_rev
的lps数组的最后一项即是字符串s的最长的回文前缀得长度,再经过简单的处理就是答案了。
代码
|
|
时间复杂度: O(n)