LeetCode 214. Shortest Palindrome
来源:互联网 发布:网络家装行业发展趋势 编辑:程序博客网 时间:2024/05/17 09:12
#include <string>#include <vector>#include <iostream>#include <algorithm>using namespace std;/* Given a string S, you are allowed to convert it to a palindrome by adding characters in from 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"*/string shortestPalindrome(string s) { string t = s; reverse(t.begin(), t.end()); string tmp = t + '#' + s; int n = tmp.size(); vector<int> dp(n, 0); for(int i = 1; i <= tmp.size(); ++i) { // KMP algorithm int j = dp[i-1]; while(j > 0 && (tmp[i] != tmp[j])) { j = dp[j-1]; } dp[i] = (j + (tmp[i] == tmp[j])); } return t.substr(0, s.size() - dp[tmp.size() - 1]) + s;}int main(void) { cout << shortestPalindrome("abc") << endl;}
0 0
- [leetcode] 214.Shortest Palindrome
- LeetCode 214. Shortest Palindrome
- leetcode 214. Shortest Palindrome
- LeetCode 214. Shortest Palindrome
- LeetCode 214. Shortest Palindrome
- leetcode.214. Shortest Palindrome
- leetcode-214. Shortest Palindrome
- 【LeetCode】214. Shortest Palindrome
- [LeetCode]214. Shortest Palindrome
- Leetcode 214. Shortest Palindrome
- LeetCode 214. Shortest Palindrome
- LeetCode 214. Shortest Palindrome
- leetcode 214. Shortest Palindrome
- leetcode 214. Shortest Palindrome
- [Leetcode]214. Shortest Palindrome@python
- (Java)LeetCode-214. Shortest Palindrome
- LeetCode hard 214. Shortest Palindrome
- [leetcode] 214. Shortest Palindrome 解题报告
- 怎么把人物图P到表情图并且做成动图~
- Hadoop之——hadoop下配置文件说明
- 数据到入到EXCEL文件
- JSON的自定义序列化和解析
- 支付宝集成步骤详解
- LeetCode 214. Shortest Palindrome
- 在首席架构师手里,应用架构如此设计
- outlook2007 有一个程序正试图以您的名义自动发送电子邮件
- href=javascript用法
- zookeeper集群实战搭建
- 百度+转载的博客解释extern C的作用
- 关于js中namespace命名空间模式
- SharePreference的两个小细节
- 两数之和