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

5. Longest Palindromic Substring

时间:2019-10-11 23:49:20      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:ida   导致   longest   btn   input   return   span   substr   answer   

5. Longest Palindromic Substring
Medium

Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.

Example 1:

Input: "babad"
Output: "bab"
Note: "aba" is also a valid answer.

Example 2:

Input: "cbbd"
Output: "bb"



 1 class Solution {
 2     int start;
 3     int len;
 4 public:
 5     string longestPalindrome(string &s) {
 6         if(s.size()<2)return s;   //下面的循环处理不了空串和1个字符的串.
 7         start=s.size();
 8         len=0;
 9         for(int i=0;i<(int64_t)s.size()-1;++i)  //这里需要注意的是 size返回的是64位无符号, 如果size为0, 这里将变为非常大的正数,导致无限循环超时,所以用int64_t , 巨坑
10         {
11             validatePalindrome(s,i,i);
12             validatePalindrome(s,i,i+1);
13         }
14         return s.substr(start,len);
15     }
16     
17     void validatePalindrome(const string &s, int i, int j)
18     {
19         while(i>=0&&j<s.size()&&s[i]==s[j])
20         {
21             --i;
22             ++j;
23         }
24         int l=j-i-1;
25         if(l<=len)
26             return;
27         start=i+1;
28         len=l;
29     }
30 };

 

5. Longest Palindromic Substring

标签:ida   导致   longest   btn   input   return   span   substr   answer   

原文地址:https://www.cnblogs.com/lychnis/p/11657460.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!