C++ LeetCode 5 最长回文子串
2019-08-01 10:05
363 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/pxh_ww/article/details/98033211
5 最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
示例 1:
输入: “babad”
输出: “bab”
注意: “aba” 也是一个有效答案。
示例 2:
输入: “cbbd”
输出: “bb”
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-palindromic-substring
class Solution { public: string longestPalindrome(string s) { if (s.size() < 2) return s; int len = s.size(), maxLen = 0, start = 0; for (int i = 0; i < len - 1; i++) { //回文子串分奇数个数和偶数个数,两种情况都要判断。 isPalindrome(s, i, i, start, maxLen); isPalindrome(s, i, i + 1, start, maxLen); } return s.substr(start, maxLen); } void isPalindrome(string s, int left, int right, int& start, int& maxLen) { while (left >= 0 && right < s.size() && s[left] == s[right]) { left--; right++; } if (maxLen < right - left - 1) { start = left + 1; maxLen = right - left - 1; } } };
相关文章推荐
- Leetcode(C++)——5. 最长回文子串
- [C++]LeetCode 5: Longest Palindromic Substring(最长回文子串)
- LeetCode 5. 最长回文子串(C++)
- leetcode最长回文子串C++版
- [C++]LeetCode: 99 Longest Palindromic Substring (最长回文子串)
- 【LeetCode004-005算法/编程练习C++】--两个数组的中间数,找出最长回文子串
- @LeetCode最长回文子串--Longest Palindromic Substring[C++]
- LeetCode5.python实现:最长回文子串问题☆☆
- leetcode:最长回文子串
- leetcode笔记——5.最长回文子串
- leetcode Longest Palindromic Substring最长回文子串
- 动态规划—最长回文子串LEETCODE第5题深度剖析
- LeetCode5.最长回文子串 JavaScript
- leetcode 最长回文子串 longest palindromic substring
- leetcode (5) - Longest Palindromic Substring 最长回文子串
- leetcode--Longest Palindromic Substring--最长回文子串--
- Leetcode:395至少有K个重复字符的最长子串(C++)
- Leetcode5 -- 最长回文子串 -- Python -- 中心扩散法
- leetcode 005 最长回文子串
- 动态规划—最长回文子串LEETCODE第5题深度剖析