[leetcode] 5. Longest Palindromic Substring 解题报告
来源:互联网 发布:电脑软件专科学校 编辑:程序博客网 时间:2024/05/16 12:29
题目链接:https://leetcode.com/problems/longest-palindromic-substring/
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.
思路:本题用到了一个中心法求回文数的算法。 要求一个字符串的最大回文数,最暴力的方法是穷举所有可能,即枚举[1, len]长度的子串,判断是否回文。这种时间复杂度太高. 使用中心法求回文数的思路是借助两个指针,以一个字符为中心,或者以两个字符之间为中心向左右扫描,判断是否相等。如此即可将时间复杂度降为O(n^2)。
代码如下:
class Solution {public: string longestPalindrome(string s) { if(s.size() ==0) return ""; int len = s.size(), Max = 0; string ans; for(int i = 0; i < 2*len-1; i++) { int left = i/2, right = (i+1)/2; while(left>=0 && right < len && s[left]==s[right]) left--, right++; if(Max < right-left-1) { Max = right - left - 1; ans = s.substr(left+1, Max); } } return ans; }};
0 0
- [leetcode] 5. 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】Longest Palindromic Substring 解题报告
- [LeetCode] Longest Palindromic Substring 解题报告
- LeetCode解题报告--Longest Palindromic Substring
- [LeetCode] Longest Palindromic Substring 解题报告
- Longest Palindromic Substring [Leetcode 解题报告]
- [LeetCode] Longest Palindromic Substring 解题报告
- [LeetCode 解题报告]005.Longest Palindromic Substring
- LeetCode(5) Longest Palindromic Substring解题报告
- Leetcode Longest Palindromic Substring解题报告
- 【Leetcode】5.Longest Palindromic Substring 解题
- leetCode 5.Longest Palindromic Substring 解题思路与方法
- [Leetcode]解题文档-Longest Palindromic Substring
- [leetcode] 30. Substring with Concatenation of All Words 解题报告
- 【jQuery】调用delay()方法延时执行动画效果
- 【jQuery】使用load()方法异步请求数据
- [#1]Least square and Nearest neighbors
- 【jQuery】使用getJSON()方法异步加载JSON格式数据
- [leetcode] 5. Longest Palindromic Substring 解题报告
- photoshop学习入门:选择和处理
- Bayes classifier
- CPP-static members
- Android M (API 23) 记录
- Jmeter+maven+Jenkins构建云性能测试平台(一)
- 在团队协作中,该如何提交一份干净、可靠的代码给队友?
- ES6学习——新的语法:let
- ucosIII 任务创建与删除,任务挂起与恢复,时间片轮转调度