5. Longest Palindromic Substring
来源:互联网 发布:首席数据官 编辑:程序博客网 时间:2024/04/29 22:41
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.
注意:出了采用底下的中心扩展法,还可以将源字符串str倒置成str1,然后问题就变成求两个字符串的最长连续公共子串的问题
分析:
采用中心扩展法,每个字符都有可能是回文字符串的中点。依次求得各字符作为中心的回文字符串,取其中最长的那个即可。
注意到回文字符串分为奇、偶两种类型对应“aba”和“aa”,所以每个字符都要求两次回文字符。
代码如下:
string help(string s, int left, int right) { int n = s.length(); while(left>=0 && right<=n-1 && s[left]==s[right]){ left--; right++; } return s.substr(left+1, right-left-1); } string longestPalindrome(string s) { //可以采用中心扩展法,因为字符串中的你没一个字符都有可能是最长回文字符串的中心点,但是对于aba,abba,这两种类型,中心点不一样,所以要取两次 if(s.length() == 1){ return s; } else{ int i = 0; string longstr = s.substr(0,1); for(int i = 0; i < s.length(); i++){ string tmp = help(s,i,i); if(tmp.length() > longstr.length()){ longstr = tmp; } tmp = help(s,i,i+1); if(tmp.length() > longstr.length()){ longstr = tmp; } } return longstr; } }
0 0
- 5.Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5.Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5.Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5.Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- YUV与RGB的相互转换
- java List 排序 Collections.sort()
- Spring Hibernate4 连接几次后连接异常, Cannot get a connection, pool error Timeout waiting for idle object
- Android下解析XML
- Android Studio中9Path图片小探究
- 5. Longest Palindromic Substring
- FastQC
- 查看远程服务器cpu使用情况的方法
- 货币计算为什么使用BigDecimal
- js 解决移动端自适应屏幕
- Android 常用框架集合
- SQL语句删除字段中包含的某个字符
- 记一次CLOSE_WAIT阻塞
- A网站跳转B网站并传值-----window.open