Leetcode Longest Palindromic Substring 5
2017-01-01 18:09
369 查看
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”
题目链接
定义
dp[i][j] = 1 如果s[i,,,j]是回文串
= 0 如果s[i,,,j]不是回文串
dp[i][j] = 1 if i==j
= (s[i] == s[j]) if j==i+1
= (s[i] == s[j]) && dp[i+1][j-1] if j>i+1
Example:
Input: “babad”
Output: “bab”
Note: “aba” is also a valid answer.
Example:
Input: “cbbd”
Output: “bb”
题目链接
定义
dp[i][j] = 1 如果s[i,,,j]是回文串
= 0 如果s[i,,,j]不是回文串
dp[i][j] = 1 if i==j
= (s[i] == s[j]) if j==i+1
= (s[i] == s[j]) && dp[i+1][j-1] if j>i+1
class Solution { public: string longestPalindrome(string s) { int len=s.length(); if(len==0||len==1) return s; int dp[len][len]; for(int i=0;i<len;i++){ for(int j=0;j<len;j++) dp[i][j]=0; } int max_=0; int start=0,end=0; for(int i=0;i<len;i++){ for(int j=0;j<i;j++){ if(i-j<2){ dp[j][i]=(s[i]==s[j]); } else{ dp[j][i]=((s[i]==s[j])&&(dp[j+1][i-1])); } if(dp[j][i]){ int ll=i-j+1; if(max_<ll) { max_=ll; start=j; end=i; } } } dp[i][i]=1; } return s.substr(start,end-start+1); } };
相关文章推荐
- LeetCode | Longest Palindromic Substring
- leetcode-5. Longest Palindromic Substring(寻找最长回文子串)
- Leetcode||5. Longest Palindromic Substring
- 【Leetcode】Longest Palindromic Substring
- 【LeetCode】Longest Palindromic Substring
- [LeetCode]005-Longest Palindromic Substring
- (leetcode)5.最大回文子字符串 Longest Palindromic Substring--Java
- LeetCode: Longest Palindromic Substring
- Longest Palindromic Substring Leetcode Python Java
- 【Leetcode】(5)Longest Palindromic Substring(Medium)
- leetcode 5 Longest Palindromic Substring(Manacher算法求最长回文串)
- LeetCode----Longest Palindromic Substring
- LeetCode:Longest Palindromic Substring 最长回文子串
- [LeetCode] Longest Palindromic Substring 解题报告
- 【LeetCode】5.Longest Palindromic Substring
- LeetCode(5)Longest Palindromic Substring
- leetcode-5. Longest Palindromic Substring
- Leetcode 5. Longest Palindromic Substring (第十周作业)
- LeetCode: Longest Palindromic Substring
- <LeetCode OJ> 5. Longest Palindromic Substring