leetcode647——回文字符串的中心扩展法

Posted dtwd886

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode647——回文字符串的中心扩展法相关的知识,希望对你有一定的参考价值。

对于长度为n的字符串,只需遍历0-2*n-2,中心为left=n/2,right=n/2+1

然后只用针对每个中心一层循环遍历,时间复杂度为O(n^2),就把奇数偶数情况统一起来了。

class Solution 
public:
    int countSubstrings(string s) 
        int len=s.size();
        int result=0;
        for(int i=0;i<2*len-1;i++)
        
            int left=i/2;
            int right=i/2+i%2;
            while(left>=0&&right<=len-1&&s[left]==s[right])
            
                left--;
                right++;
                result++;
            
        
        return result;
    
;

 

以上是关于leetcode647——回文字符串的中心扩展法的主要内容,如果未能解决你的问题,请参考以下文章

字符串647. 回文子串

LeetCode 647. 回文子串 [Palindromic Substrings (Medium)]

LeetCode 647. 回文子串 [Palindromic Substrings (Medium)]

LeetCode 回文串问题

Leetcode 5 - 最长回文子串

LeetCode 647. 回文子串(Palindromic Substrings)