码迷,mamicode.com
首页 > 其他好文 > 详细

Longest Palindromic Substring

时间:2017-10-20 12:02:22      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:tput   mic   偶数   code   long   col   return   中心   blog   

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"

 1 class Solution {
 2 public:
 3     string longestPalindrome(string s){
 4       int len=s.size();
 5       string s1(1,s[0]);
 6       int maxlen=1;
 7       if(len<2)
 8          return s;
 9    
10       for(int i=0;i<len-1;i++)
11       {
12           string p1=helper(s,i,i);
13           if (p1.size()>maxlen)
14           {
15                s1=p1;//奇数回文数
16                maxlen=p1.size();
17           }
18                
19          string p2=helper(s,i,i+1);
20           if (p2.size()>maxlen)
21           {
22                s1=p2;//偶数回文数
23                maxlen=p2.size();
24           }
25       }
26       return s1;
27     }
28     string helper(string s,int c1,int c2)//中心扩展法,定义中心位置c1、c2
29       {
30           int i=c1,j=c2;
31           while(i>=0&&j<s.size()&&s[i]==s[j])
32           {
33               i--;
34               j++;
35           }
36           return s.substr(i+1,j-i-1);//(j-1)-(i+1)+1
37           
38       }
39     
40 };

 

Longest Palindromic Substring

标签:tput   mic   偶数   code   long   col   return   中心   blog   

原文地址:http://www.cnblogs.com/wsw-seu/p/7698376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!