#include <string>
#include <iostream>
class Solution {
public:
int countSubstrings(std::string s)
{
int ret = 0;
if (s.empty() || s.length() <= 0)
{
return ret;
}
for (int i = 0; i < s.length(); i++)
{
for (int j = i + 1; j < s.length(); j++)
{
if (strIsPalindrome(s.substr(i, j - i + 1)))
{
ret++;
}
}
}
return ret + s.length();
}
// 判断字符串是不是回文
bool strIsPalindrome(const std::string& str)
{
int begin = 0;
int end = str.length() - 1;
while (begin < end)
{
if (str[begin] == str[end])
{
begin++;
end--;
}
else
{
return false;
}
}
return true;
}
};
int main()
{
Solution solution;
std::cout << solution.countSubstrings("abc") << std::endl;
std::cout << solution.countSubstrings("aaa") << std::endl;
return 0;
}
leetcode647. 回文子串
最新推荐文章于 2024-10-13 21:35:06 发布