leetcode:Shortest Palindrome
来源:互联网 发布:食品的分销网络 编辑:程序博客网 时间:2024/05/17 22:24
Shortest Palindrome
Given a string S, you are allowed to convert it to a palindrome by adding characters in front of it. Find and return the shortest palindrome you can find by performing this transformation.
For example:
Given “aacecaaa”, return “aaacecaaa”.
Given “abcd”, return “dcbabcd”.
分析
We can construct the following string and run KMP algorithm on it: ST=(s) + (some symbol not present in s) + (reversed string).then we caculate next[j] value of ST.
时间复杂度O(n),空间复杂度O(n)。
class Solution {public: string shortestPalindrome(string s) { string tmp=s; int size = s.size(); reverse(tmp.begin(), tmp.end()); tmp = s + "#" + tmp; vector<int> next(tmp.size()+1, 0); KPM_nextJ(tmp, next); return tmp.substr(size + 1, size - next[tmp.size()]) + s; } void KPM_nextJ(const string& str, vector<int>& next){ int j = 1, k = 0; next[0] = -1; next[1] = 0; int size = str.size(); while (j < size){ if (str[j] == str[k]){ ++k; ++j; next[j] = k; } else if (k == 0){ ++j; next[j] = 0; } else k = next[k]; } }};
0 0
- leetcode 214: Shortest Palindrome
- leetcode - Shortest Palindrome
- LeetCode Shortest Palindrome
- 【回文】leetcode - Shortest Palindrome
- Shortest Palindrome Leetcode Java
- Shortest Palindrome leetcode-java
- [LeetCode] Shortest Palindrome I
- LeetCode - Shortest Palindrome (KMP)
- LeetCode #214 Shortest Palindrome
- [leetcode] 214.Shortest Palindrome
- Shortest Palindrome -- leetcode
- LeetCode 214. Shortest Palindrome
- leetcode 214: Shortest Palindrome
- leetcode:Shortest Palindrome
- LeetCode之Shortest Palindrome
- [LeetCode 214] Shortest Palindrome
- Leetcode -- Shortest Palindrome
- LeetCode Shortest Palindrome
- PHP中的常量
- 链表反转
- POJ 1065 贪心 最少的上升子序列个数
- jxl问题,报错如下 Exception in thread "main" java.lang.NoClassDefFoundError: jxl/write/WritableCell
- configure: error: C++ compiler cannot create executables
- leetcode:Shortest Palindrome
- 盒模型
- poj 1091 跳蚤(最大公约数原理+容斥原理)
- HDU-3970 最短路径问题
- 关于STM32中NVIC的理解,带错误例子
- Android百分比布局支持库(android-percent-support)
- 决定换博客了
- stm32之spi总结1
- JavaScript中字符串转JSON或者XML