leetcode: Longest Palindromic Substring
来源:互联网 发布:淘宝客服处理售后软件 编辑:程序博客网 时间:2024/06/03 07:30
最开始采用的是动态规划的方法,但是超时。后来上网查了下,找到了以下这种方法。分为aa和aba两种情况考虑,以每一个字符为中心判断其为中心的时候得到的最长回文串。同动态规划相比,这种方法在发现不是回文的时候就会返回,而不像动态规划严格执行n*n.的时间,会快很多。
代码的思路很简单,实现起来也不难,就
lass Solution {public: string findPal(string &s, int left, int right) { if (left < 0) return s.substr(left+1, 1); if (right >= s.size()) return s.substr(right-1, 1); while(0 <= left && right < s.size()) { if (s[left] != s[right]) break; left--; right++; } left++; right--; return s.substr(left, right - left + 1); } string longestPalindrome(string s) { // Start typing your C/C++ solution below // DO NOT write int main() function if (s.size() == 0) return ""; string ret; for(int i = 0; i < s.size(); i++) { string str = findPal(s, i - 1, i + 1); if (str.size() > ret.size()) ret = str; str = findPal(s, i, i + 1); if (str.size() > ret.size()) ret = str; } return ret; }};
直接把对方的代码搬上来了,多多学习,多多参考。
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
- 博客开通
- C++ deque(double-ended-queue)双端队列
- ubuntu RPM should not be used directly install RPM packages, use Alien instead!
- source insight 快捷键
- gdb基本命令
- leetcode: Longest Palindromic Substring
- DIV CSS布局实例:用css网站布局之十步实录!(目录)
- 博弈树取球博弈问题
- POJ 1236 Network of Schools 强连通分量
- 《算法概论》思维导图
- 单链表常见面试题及答案
- 黑马程序员----Java基础之数据类型包装类及集合框架
- 球幕互动投影
- 16. 微软面试题:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始