leetcode习题解答:5. Longest Palindromic Substring
来源:互联网 发布:国外视频软件 编辑:程序博客网 时间:2024/06/03 21:49
难度:Medium
链接
描述:
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"
思路:
最开始看有点蒙,想着把字符串倒过来看又没什么方法解决,想了半小时发现确实没有用处。
如果从回文字串的边缘看不出解决方法,那只好从中心来解决
回文字串有两种对称模式,偶数的中间是AA这样的,奇数的是ABA这样的,通过找到这两种最小的模式,然后不断扩大,AA->CAAC->DCAACD,这样就能找到最大的回文串。
当然会有一些特殊情况,比如只有1个字符的,有两个字符且都不同,整个数组没有字符数大于等于2的,都返回第一个字符
具体看代码:
class Solution(object): def longestPalindrome(self, s): length = len(s) longest = "" if len(s) == 1: return s if len(s) == 2 and s[0] != s[1]: return s[0] for x in range(length-1): b = x e = x+1 if(s[b] == s[e]): while (b >= 0 and e < length) and (s[b] == s[e]): b = b-1 e = e+1 if len(s[b+1:e]) > len(longest): longest = s[b+1:e] for x in range(length-2): b = x m = x+1 e = x+2 if (s[b] == s[e]): while (b >= 0 and e < length) and (s[b] == s[e]): b = b-1 e = e+1 if len(s[b+1:e]) > len(longest): longest = s[b+1:e] if len(longest) == 0: return s[0] return longest
阅读全文
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]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 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 5. Longest Palindromic Substring
- leetcode 5. Longest Palindromic Substring
- LeetCode *** 5. Longest Palindromic Substring
- OpenSL ES
- python学习记录(三)
- 记正式踏入软件行业的第一天
- 布隆过滤器(Bloom Filter)原理以及应用
- tp框架中的create自动验证
- leetcode习题解答:5. Longest Palindromic Substring
- spark安装过程中一些重要的问题
- 8. String to Integer (atoi) LeetCode c++
- 洛谷P1040 加分二叉树(DP)
- 温度转换
- python django环境配置 (二)
- PAT (Basic Level) Practise (中文)1006. 换个格式输出整数 (15)
- C++日历
- 使用堆栈(Stack)模拟实现队列(FIFO)