5. Longest Palindromic Substring
来源:互联网 发布:为什么不能登录淘宝网 编辑:程序博客网 时间:2024/04/30 06:19
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"
今天先上一种解法,递归:
class Solution {public: string longestPalindrome(string s) { if(s.empty()) return 0; int start_pos = 0, max_len = 1; //start_pos default 0 because max_len default 1 const int len = s.length(); for(int i=0; i<len-1; ++i){ extend_palindrome(s, len, i, i, start_pos, max_len); //assume odd length, try to extend palindrome as possible extend_palindrome(s, len, i, i+1, start_pos, max_len); //assume even length } return s.substr(start_pos, max_len); } void extend_palindrome(string& s, int len, int left, int right, int& start_pos, int& max_len){ while(left >= 0 && right < len && s[left] == s[right]){ --left; ++right; } if(max_len < right-left-1){ start_pos = left + 1; max_len = right - left - 1; } }};
为什么要有两种情况呢:比如abba和abab分别就是和偶数个最长和奇数个最长的情况。
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
- 微信小程序拉下无法刷新问题
- 根据总页数制作的分页按钮,有跳转功能以及多页数的时候中间按钮显示...功能
- Linear Regression Code
- (转转转)AndroidStudio下如何输出jar包给其他开发环境使用
- Android中Dialog和Toast及其Snackbar的使用和区别
- 5. Longest Palindromic Substring
- CSS布局之定位详解(position)
- Windows API概述
- Python学习记录day8-面向对象进阶、反射和异常处理
- android自定义图表的手势处理
- Service的生命周期
- 阿里云ECS云服务器 ASP建站 遇到的问题汇总
- Windows下配置github的ssh
- 移动端手机号码弹出 发送短信