[编程题]回文数索引

[编程题]回文数索引

给定一个仅由小写字母组成的字符串。现在请找出一个位置,删掉那个字母之后,字符串变成回文。请放心总会有一个合法的解。如果给定的字符串已经是一个回文串,那么输出-1。

输入描述:
第一行包含T,测试数据的组数。后面跟有T行,每行包含一个字符串。

输出描述:
如果可以删去一个字母使它变成回文串,则输出任意一个满足条件的删去字母的位置(下标从0开始)。例如:

bcc

我们可以删掉位置0的b字符。
输入例子1:
3
aaab
baa
aaa
输出例子1:
3
0
-1

思路

主要使用reverse(),将输入的字符s,反转后与原字符比较。。。

代码

#include<iostream>
#include <string>
#include<algorithm>
using namespace std;
 
inline bool isPalindrome(string s) {
    string s1 = s;
    reverse(s1.begin(), s1.end());
    if (s1 == s)
        return true;
    else
        return false;
}
int main()
{
    int t;
    cin >> t;
    string s;
    for (int i = 0; i < t; i++) {
        cin >> s;
        if (isPalindrome(s)) {
            cout << -1 << endl;
            continue;
        }
        for (int j = 0; j < s.length(); j++) {
            string s1(s);
            s1 = s1.erase(j,1);
            if (isPalindrome(s1)) {
                cout << j << endl;
                break;
            }
        }
    }
    return 0;
}

http://www.niftyadmin.cn/n/989486.html

相关文章

Yii2 框架目录

框架目录结构 【目录】 backend——后台web程序 common——公共的文件 console——控制台程序 environments——环境配置 frontend——前台web程序 【文件】 .gitignore——git版本控制中忽略的文件和目录&#xff0c;如果你有一些你不想要的文件到你的源代码里面就把它添加到这…

怎么录制手机在线视频 如何录制手机屏幕

在手机中不管是看电视还是看视频&#xff0c;总能看到让我们耳目一新或者很搞笑的片段&#xff0c;遇到这样的情况一般都会怎么做呢&#xff1f;难道下次观看的时候再重新找吗&#xff1f;当然不是&#xff0c;可以通过录制的方式在手机相册中直接查看&#xff0c;而且还可以分…

快速制作边框的心得

常常需要制作一个边框&#xff0c;中间放个半透明的板子&#xff0c;用来放置文字&#xff0c;最快的方法是&#xff1a;1、画一个圆边矩形2、保存选区&#xff0c;再画收缩之或者自由变换选区&#xff0c;两者运算&#xff0c;求出边框3、填充白色或者希望的边框基本色4&#…

codeforces contest1082

C 维护前缀和 题意 每一个id给一个权值序列&#xff0c;从每个id选出数量相同的权值&#xff0c;对他们进行求和&#xff0c;使得他们的和最大 题解 注意负数对结果没有贡献&#xff0c;直接跳过。 当时写的比较挫&#xff0c;连排序都写错了&#xff01;cf的编译器比较的严谨,…

[编程题]城市修建

[编程题]城市修建 有一个城市需要修建&#xff0c;给你N个民居的坐标X,Y&#xff0c;问把这么多民居全都包进城市的话&#xff0c;城市所需最小面积是多少&#xff08;注意&#xff0c;城市为平行于坐标轴的正方形&#xff09; 输入描述: 第一行为N&#xff0c;表示民居数目&a…

EnterpriseServerBase的AOP--EsbAOP实现

EsbAOP是EnterpriseServerBase类库中的轻量级AOP框架&#xff0c;它实现了AOP的主要思想&#xff0d;&#xff0d;对方法调用进行截获&#xff0c;并加入自定义的预处理、后处理。 EsbAOP与其它很多开源的AOP实现有些不同&#xff0c;其不同之处主要在于EsbAOP并没有严格的实现…

用laravel搭一个微信公众号后台

我使用的是laravel5.2, 早期版本可能不适合下面的方法。 在routes.php写下接收微信服务器post请求的路径: Route::post(wechatmp, WechatControllerresponseMsg);在App\Http\Middleware\VerifyCsrfToken里&#xff0c;将该请求路径去除CSRF TOKEN的保护&#xff0c;官网说明&a…

JSON数据从MongoDB迁移到MaxCompute最佳实践

摘要&#xff1a; 本文为您介绍如何利用DataWorks数据集成直接从MongoDB提取JSON字段到MaxCompute。 数据及账号准备首先您需要将数据上传至您的MongoDB数据库。本例中使用阿里云的云数据库 MongoDB 版&#xff0c;网络类型为VPC&#xff08;需申请公网地址&#xff0c;否则无法…