LeetCode-Longest Palindromic Substring
来源:互联网 发布:python swf反编译 编辑:程序博客网 时间:2024/05/29 02:06
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.
Solution:
Code:
<span style="font-size:14px;">class Solution {public: string longestPalindrome(string s) { int length = s.size(); if (length == 0 || length == 1) return s; string copy; //construct new string for (int i = 0; i < length; ++i) { copy += "#"; copy += s.substr(i, 1); } copy += "#"; length = copy.size(); vector<int> radius(length, 0); int center = 1; radius[center] = 1; int maxRadius = 1; for (int i = 2; i < length; ++i) { if (i >= center+radius[center]) { for (int j = 1; i-j >= 0 && i+j < length; ++j) if (copy[i-j] == copy[i+j]) ++radius[i]; else break; center = i; } else { int map = 2*center-i; if (i+radius[map] < center+radius[center]) radius[i] = radius[map]; else { radius[i] = center+radius[center]-i; for (int j = center+radius[center]-i+1; i-j >= 0 && i+j < length; ++j) if (copy[i-j] == copy[i+j]) ++radius[i]; else break; center = i; } } maxRadius = radius[maxRadius]>radius[i]?maxRadius:i; } return s.substr(maxRadius/2-radius[maxRadius]/2, radius[maxRadius]); }};</span>
0 0
- LeetCode: Longest Palindromic Substring
- LeetCode Longest Palindromic Substring
- LeetCode: Longest Palindromic Substring
- [Leetcode] Longest Palindromic Substring
- [LeetCode] Longest Palindromic Substring
- Leetcode : Longest Palindromic Substring
- [LeetCode]Longest Palindromic Substring
- leetcode Longest Palindromic Substring
- LeetCode-Longest Palindromic Substring
- [LeetCode] Longest Palindromic Substring
- Longest Palindromic Substring leetcode
- LeetCode Longest Palindromic Substring
- LeetCode - Longest Palindromic Substring
- LeetCode -- Longest Palindromic Substring
- LeetCode | Longest Palindromic Substring
- LeetCode: Longest Palindromic Substring
- [LeetCode]Longest Palindromic Substring
- leetcode Longest Palindromic Substring
- fatal: Could not jump back into original cwd: No such file or directory
- UIViewContrller之间的切换方式
- respondsToSelector的相关使用
- Apple移动设备处理器指令集 armv6、armv7、armv7s及arm64
- 银行业务调度系统学习
- LeetCode-Longest Palindromic Substring
- 类和对象最简单的例子
- 转载 【UML类图关系大全】
- Matlab2012 下载与安装
- Tomcat中JVM内存溢出及合理配置
- MARK UP
- QML 文本无法显示问题
- Javascript的V8引擎之所以快
- 利用QML实现透明窗口[qt5]