[Leetcode] #5 Longest Palindromic Substring
来源:互联网 发布:做淘宝真的比上班累吗 编辑:程序博客网 时间:2024/06/05 00:36
Discription:
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
Example:
Input: "babad"Output: "bab"Note: "aba" is also a valid answer.
Example:
Input: "cbbd"Output: "bb"
Solution:
//穷举所有子串 时间O(N^3)bool isPalindrome(string &s, int begin, int end){while (begin < end){if (s[begin] == s[end]){++begin;--end;}else{return false;break;}}return true;}string longestPalindrome(string s) {int maxLength = 0;string result(&s[0], &s[0] + 1);for (int i = 0; i < s.size(); ++i){for (int j = i + 1; j < s.size(); ++j){if (isPalindrome(s, i, j) && j - i + 1>maxLength){maxLength = j - i + 1;string temp(&s[i], &s[j] + 1);result = temp;}}}return result;}
//以一个或两个为中心 由中心向两边扫 O(N^2)string getSubString(string s, int left, int right){while (left >= 0 && right < s.size() && s[left] == s[right]){left--;right++;}return s.substr(left + 1, right - left - 1);}string longestPalindrome(string s) {if (s.size() < 1) return s;string result = "";for (int i = 0; i < s.size(); i++){int left = i, right = i;string temp = getSubString(s, left, right);if (temp.size()>result.size())result = temp;right = i + 1;temp = getSubString(s, left, right);if (temp.size()>result.size())result = temp;}return result;}
更多请参考http://www.cnblogs.com/strugglion/p/6390357.html
0 0
- LeetCode 5 - Longest Palindromic Substring
- LeetCode(5) Longest Palindromic Substring
- Leetcode【5】:Longest Palindromic Substring
- [leetcode 5] Longest Palindromic Substring
- LeetCode 5 Longest Palindromic Substring
- [Leetcode] 5 - Longest Palindromic Substring
- LeetCode 5:《Longest Palindromic Substring》
- [leetcode 5] Longest Palindromic Substring
- LeetCode | #5 Longest Palindromic Substring
- leetcode 5 Longest Palindromic Substring
- LeetCode 5 Longest Palindromic Substring
- LeetCode 5 Longest Palindromic Substring
- LeetCode(5) Longest Palindromic Substring
- LeetCode 5:Longest Palindromic Substring
- LeetCode 5 - Longest Palindromic Substring
- leetcode #5 Longest Palindromic Substring
- Longest Palindromic Substring leetcode 5
- leetcode 5 -- Longest Palindromic Substring
- 由浅入深探究mysql索引结构原理、性能分析与优化
- 关于奇异值以及奇异值分解SVD的思考
- 二维灰度地形图山脊线自动提取方法整理(PPA)
- 解决Spring事务不回滚
- SSM框架使用MyBatis Generator自动创建代码
- [Leetcode] #5 Longest Palindromic Substring
- 相机针孔模型----从世界坐标系,到相机坐标系,再到图像物理坐标系,最后到图像像素坐标系的转换过程解析
- fragment——之回退栈详解
- anconda无法plot问题的解决:更新qt
- eclispe无法获取maven依赖的本地项目jar包
- 数据科学工程师系列之三---机器学习与大数据
- JavaSE_21th_多态(动态绑定)
- 判断Android应用是否打开了使用网络权限
- BZOJ1688: [Usaco2005 Open]Disease Manangement 疾病管理