美文网首页
C++ 计算字符串中的回文串数量

C++ 计算字符串中的回文串数量

作者: T句号T | 来源:发表于2018-12-16 17:12 被阅读38次

回文串
对于给定的一个字符串,要求求出多少个子串是回文串。
子串:字符串中连续的长度大于0的一段。
回文串:若字符串的倒序与此字符串相同,则称这个字符串为回文串。

bool IsPalindromicStr(string str) {
    for (int i = 0; i < str.size()/2; ++i) {
        if (str[i] != str[str.size() - 1 - i]) return false;
    }
    return true;
}
int countPalindromicSubstr(string str) {
    int count = 0;
    for (int i = 0; i<str.size(); i++) {
        for (int j = 1; j< str.size()+1-i; j++) {
            string substring = str.substr(i, j);
            if (IsPalindromicStr(substring)) count++;
        }
    }
    return count;
}

int main()
{
    string testStr;
    cout << "Enter string: " << endl;
    cin >> testStr;
    cout << countPalindromicSubstr(testStr) << endl;
}

相关文章

  • C++ 计算字符串中的回文串数量

    回文串对于给定的一个字符串,要求求出多少个子串是回文串。子串:字符串中连续的长度大于0的一段。回文串:若字符串的倒...

  • LeetCode-647-回文子串

    LeetCode-647-回文子串 题目 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开...

  • Leetcode每日一题(5)

    647. 回文子串 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串...

  • 647.回文子串

    647.回文子串 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即...

  • leetCode进阶算法题+解析(六十二)

    回文子串 题目:给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使...

  • Leetcode 696.计数二进制子串(javascript)

    题目 给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都...

  • Leetcode 696. 计数二进制子串

    题目描述 给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有...

  • JavaScript 算法 计数二进制子串

    给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合...

  • LeetCode-696-计数二进制子串

    给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合...

  • Go语言基础练习一

    一、字符统计 1、判读字符串汉字的数量 2、how do you do 单词出现的次数 二、回文判断 字符串从左往...

网友评论

      本文标题:C++ 计算字符串中的回文串数量

      本文链接:https://www.haomeiwen.com/subject/eijxkqtx.html