LeetCode之 Longest Palindromic Substring
2018-03-21 10:01
369 查看
有人说,你文笔那么差,水平也不高,为什么还要写这种烂文章,我说,我们从网上汲取了那么多,解决了我们那么多难题,我们也曾解决别人不曾遇到的困难啊,我们把这些东西写出来,可以让大家少走弯路,何乐而不为呢!
注:回文是在两个方向上读取相同的字符串。例如,“aba”是一个回文,“abc”不是。
时间复杂度:O (n^2)
空间复杂度:O ( 1 )
LeetCode官网:https://leetcode.com/
我是直接用GitHub授权登录的。问题
给定一个字符串小号,发现最长的回文子小号。你可以假设s的最大长度是1000。注:回文是在两个方向上读取相同的字符串。例如,“aba”是一个回文,“abc”不是。
举例
Input: "babad" Output: "bab" Note: "aba" is also a valid answer.
Input: "cbbd" Output: "bb"
解法
class Solution { public String longestPalindrome(String s) { int start = 0, end = 0; for (int i = 0; i < s.length(); i++) { int len1 = expandAroundCenter(s, i, i); int len2 = expandAroundCenter(s, i, i + 1); int len = Math.max(len1, len2); if (len > end - start) { start = i - (len - 1) / 2; end = i + len / 2; } } return s.substring(start, end + 1); } private int expandAroundCenter(String s, int left, int right) { int L = left, R = right; while (L >= 0 && R < s.length() && s.charAt(L) == s.charAt(R)) { L--; R++; } return R - L - 1; } }
时间复杂度:O (n^2)
空间复杂度:O ( 1 )
相关文章推荐
- LeetCode题库解答与分析——#5.最长回文子串LongestPalindromicSubstring
- 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, Medium] Longest Palindromic Substring
- 【leetcode】Longest Palindromic Substring
- Leetcode日记(4)---Longest Palindromic Substring
- [LeetCode]Longest Palindromic Substring
- LeetCode 5. Longest Palindromic Substring
- 求最长回文子串 - leetcode 5. Longest Palindromic Substring
- LeetCode:5_Longest Palindromic Substring | 最长的回文子串 | Medium
- Leetcode 5: Longest Palindromic Substring
- LeetCode005__Longest Palindromic Substring
- *****(leetcode_string)Longest Palindromic Substring
- leetcode--Longest Palindromic Substring
- [LeetCode] Longest Palindromic Substring
- Leetcode:Longest Palindromic Substring
- LeetCode - Longest Palindromic Substring