iostramusing 2022-03-27 15:27 采纳率: 96.3%
浏览 85

回文子串c++刚需求解用字符串解

回文子串
题目描述
给定一个字符串,输出所有长度至少为2的回文子串。 
回文子串即从左往右输出和从右往左输出结果是一样的字符串,比如:abba是回文字符串。
输入格式
一个字符串,由字母或数字组成。长度500以内。
输出格式
输出所有的回文子串,每个子串一行。
子串长度小的优先输出,若长度相等,则出现位置靠左的优先输出。
输入输出样列
输入样例1:复制
123321125775165561
输出样例1:复制
33
11
77
55
2332
2112
5775
6556
123321
165561

  • 写回答

1条回答 默认 最新

  • 浪客 2022-03-27 22:03
    关注
    
    #include <iostream>
    #include <string>
    using namespace std;
    
    bool isH(string s, size_t len)
    {
        size_t i = 0;
        while (i < len / 2)
        {
            if (s[i] != s[len - i - 1])
                return false;
            i++;
        }
        return true;
    }
    
    int main()
    {
        string s, str = "123321125775165561";
        // cin >> str;
    
        for (size_t j = 2; j < str.length(); j++)
        {
            for (size_t i = 0; i <= str.length() - j; i++)
            {
                s = str.substr(i, j);
                if (isH(s, j))
                    cout << s << endl;
            }
        }
    
        return 0;
    }
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月27日

悬赏问题

  • ¥15 斯坦福自动漂移非线性模型反解
  • ¥15 学习Python如何找兼职
  • ¥15 python结合Matlab仿真忆阻器
  • ¥35 有人会注册whatsaop协议号吗?
  • ¥15 lead dbs 无法导入影像数据
  • ¥15 多目标MPA算法优化编程实现
  • ¥15 反激PWM控制芯片调研
  • ¥15 Python for loop减少运行时间
  • ¥15 fluent模拟物质浓度udf
  • ¥15 Collection contains no element matching the predicate