【leetcode 字符串 C++】5. Longest Palindromic Substring

5. Longest Palindromic Substring

在这里插入图片描述

class Solution {
    
    
public:
    pair<int, int> expendCenter(string s, int L, int R) {
    
    
        while(L >= 0 && R < s.size() && s[L] == s[R]) --L, ++R;
        return {
    
    ++L, --R};
    }
    string longestPalindrome(string s) {
    
    
        int n = 0, len = 0;
        for(int ii = 0; ii < s.length(); ii++) {
    
    
            auto site = expendCenter(s, ii, ii);
            if(site.second - site.first + 1 > len) {
    
    
                n = site.first;
                len = site.second - site.first + 1;
            }
            site = expendCenter(s, ii, ii+1);
            if(site.second - site.first + 1 > len) {
    
    
                n = site.first;
                len = site.second - site.first + 1;
            }
        }
        return s.substr(n, len);
    }
};

猜你喜欢

转载自blog.csdn.net/m0_37454852/article/details/113697495
今日推荐