zoukankan      html  css  js  c++  java
  • 13B:回文子串

    总时间限制: 
    1000ms
     
    内存限制: 
    65536kB
    描述

    给定一个字符串,寻找并输出字符串中最长回文子串。回文串即从左到右和从右到左读都一样的字符串。
    如果字符串中包含多个回文子串,则返回第一个。

    输入
    第一行是整数n,字符串的个数(n < 20)
    输出
    接下来n行,每行一个字符串
    字符串的长度不超过100
    样例输入
    3
    ab
    babadec
    scdedcd
    
    样例输出
    a
    bab
    cdedc
     1 #include<iostream>
     2 using namespace std;
     3 int main(){
     4     int n;
     5     cin>>n;
     6     while(n--){
     7         string a;
     8         cin>>a;
     9         int len = a.length();
    10         string maxsub = "";
    11         int i, j; 
    12         for(i = 0; i < len; i++){
    13             for(j = 1; i+j-1<=len; j++){
    14                 string s = a.substr(i, j);
    15                 int p = 0;
    16                 int q = j-1;
    17                 while(s[p]==s[q]){
    18                     p++; q--;
    19                 }
    20                 if(p>=q) if(j>maxsub.length()) maxsub = s;
    21             }
    22         }
    23         cout<<maxsub<<endl;
    24     }
    25     return 0;
    26 }

    备注:注意substr的用法,以及没有直接逆序的函数。

  • 相关阅读:
    python-高阶函数(map,reduce,filter)
    python-函数(补充)
    python-局部变量与全局变量
    python-函数
    字符串格式化
    pycharm2019.1激活方法(亲测可用)
    python-集合
    python-字典
    keepalivd 配置
    zabbix3 agent端安装
  • 原文地址:https://www.cnblogs.com/fangziyuan/p/13161555.html
Copyright © 2011-2022 走看看