[LeetCode] Longest Palindromic Substring
来源:互联网 发布:网络神曲panama 编辑:程序博客网 时间:2024/06/08 04:18
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 1:
class Solution {public: string longestPalindrome(string s) { int n = s.length(); int longestBegin = 0; int maxLen = 1; bool table[1000][1000] = {false}; for(int i = 0; i < n; i++) { table[i][i] = true; } for(int i = 0; i < n-1; i++) { if(s[i] == s[i+1]) { table[i][i+1] = true; longestBegin = i; maxLen = 2; } } for(int len = 3; len <= n; len++) { for(int i = 0; i < n-len+1; i++) { int j = i+len-1; if(s[i] == s[j] && table[i+1][j-1]) { table[i][j] = true; longestBegin = i; maxLen = len; } } } return s.substr(longestBegin, maxLen); }};
Solution 2:
class Solution {public: string expandAroundCenter(string s, int c1, int c2) { int l = c1, r = c2; int n = s.length(); while(l >= 0 && r <= n-1 && s[l] == s[r]) { l--; r++; } return s.substr(l+1, r-l-1); } string longestPalindrome(string s) { int n = s.length(); if(n==0) return ""; string longest = s.substr(0,1); for(int i = 0; i < n-1; i++) { string p1 = expandAroundCenter(s,i,i); if(p1.length() > longest.length()) longest = p1; string p2 = expandAroundCenter(s,i,i+1); if(p2.length() > longest.length()) longest = p2; } return longest; }};
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
- Linux内核书籍点评
- HDOJ 题目1709 The Balance(母函数)
- android中LocalBroadcastManager的使用
- 参考练习,代码基本已经理解 最后取模部分有待理解。
- 大数据-2.5亿个数据-统计不重复
- [LeetCode] Longest Palindromic Substring
- taskset榨干服务器CPU:让进程运行在指定的CPU内核
- hdu 4670 Cube number on a tree,平衡树,启发式合并
- 字符串分组
- WaitForSingleObject
- 计算32位整形数内含有1的个数
- C语言编程
- 转]史上最快消息内核——ZeroMQ
- C语言编译、链接