Leetcode 647. 回文子串 中等 字符串

647. 回文子串

题目:

给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。

回文字符串 是正着读和倒过来读一样的字符串。

子字符串 是字符串中的由连续字符组成的一个序列。

具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。

 

示例 1:

输入:s = "abc"
输出:3
解释:三个回文子串: "a", "b", "c"

思路:

判断包含的回文子串的数目。

可以在判断回文串的过程中记录出现的次数。

回文子串判断可以是从(i,i)起始,也可以从(i,i+1)起始。两者统计的子串不同。

复制代码
class Solution {
public:
    int countSubstrings(string s) {
        int n=s.size();
        int ret=0;
        for(int i=0;i<n;++i){
            ret+=count(i,i,s);
            ret+=count(i,i+1,s);
        }
        return ret;
    }
    int count(int i,int j, const string& s){
        int ret=0;
        int n=s.size();
        while(i>=0&&j<n){
            if(s[i]==s[j]){
                ret++;
                i--;
                j++;
            } else{
                break;
            }
        }
        return ret;
    }
};
复制代码

 

posted @   鸭子船长  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2021-05-06 Leetcode 312. [312] 戳气球 动态规划
2021-05-06 Leetcode 887. 鸡蛋掉落 动态规划
2020-05-06 k8s基础知识-1、基础组件
2016-05-06 Cannot resolve external dependency com.android.support:multidex:1.0.0
2016-05-06 设置锁屏启动程序的属性
点击右上角即可分享
微信分享提示