zoukankan      html  css  js  c++  java
  • 5. Longest Palindromic Substring(C++)

    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.size()<2){
          return s;
        }
        int len = s.size(), maxlen = 1, maxleft = 0, left, right;
        for(int i=0;i<len&&len-i > maxlen/2;){
          left = right = i;
          while(right<len-1 && s[right]==s[right+1]){
            right++;
          }
          i=right+1;
          while(right<len-1 && left>0 && s[left-1]==s[right+1]){
            right++;
            left--;
          }
          if(maxlen<right-left+1){
            maxleft = left;
            maxlen =right-left+1;
          }
        }
        return s.substr(maxleft,maxlen);
      }
    };

  • 相关阅读:
    zoj1942Frogger
    阿里云api调用做简单的cmdb
    约瑟夫环
    Bag标签之中的一个行代码实行中文分词实例3
    用lua扩展你的Nginx(整理)
    Single Number III
    TCP/IP ---分层
    TCP/IP --概述
    adb命令学习
    How to set Selenium Python WebDriver default timeout?
  • 原文地址:https://www.cnblogs.com/devin-guwz/p/6480252.html
Copyright © 2011-2022 走看看