【字符串】最长回文子串Longest Palindromic Substring
2017-04-16 17:13
477 查看
题目:给定一个字符串,找到其中的最长的回文子串
回文串:字符串反过来和它本身相同
例如:给定字符串“abcdzdcab”,应返回“cdzdc”;
C++程序如下
回文串:字符串反过来和它本身相同
例如:给定字符串“abcdzdcab”,应返回“cdzdc”;
C++程序如下
string longestPalindrome(string& s) { if (s.empty()) return ""; if (s.size() == 1) return s; int min_start = 0, max_len = 1; for (int i = 0; i < s.size();) { if (s.size() - i <= max_len / 2) break; int j = i, k = i; while (k < s.size()-1 && s[k+1] == s[k]) ++k; // Skip duplicate characters. i = k+1; while (k < s.size()-1 && j > 0 && s[k + 1] == s[j - 1]) { ++k; --j; } // Expand. int new_len = k - j + 1; if (new_len > max_len) { min_start = j; max_len = new_len; } } return s.substr(min_start, max_len); // Write your code here }
相关文章推荐
- Longest Palindromic Substring 在一个字符串里找最长回文子串@LeetCode
- Java Longest Palindromic Substring(最长回文字符串)
- 最长回文子串(Longest Palindromic Substring)
- leetcode05 Longest Palindromic Substring 最长回文子串
- 最长回文子串 Longest Palindromic Substring
- Longest Palindromic Substring (最长回文子串)
- LeetCode | Longest Palindromic Substring(最长回文子串)
- [LeetCode] Longest Palindromic Substring 最长回文子串
- Longest Palindromic Substring(字符串的最大回文子串)
- LeetCode 5 Longest Palindromic Substring(最长回文子串,暴力剪枝/DP/曼彻斯特算法)
- 求最长回文子串 - leetcode 5. Longest Palindromic Substring
- 【翻译】Longest Palindromic Substring 最长回文子串
- 最长回文子串(Longest Palindromic Substring )
- LeetCodeOJ_5_m_Longest Palindromic Substring(最长回文子串)
- 最长回文子串 Longest Palindromic Substring
- 求最长回文子串(Longest Palindromic Substring)
- Longest Palindromic Substring (最长回文字符串)——两种方法还没看,仍需认真看看
- LeetCode---5. Longest Palindromic Substring(最长回文子串)
- Longest Palindromic Substring(最长回文子串)
- **[Lintcode]Longest Palindromic Substring最长回文子串