博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[ACdream]女神教你字符串——违和感
阅读量:6934 次
发布时间:2019-06-27

本文共 1022 字,大约阅读时间需要 3 分钟。

题目描述:

女神最喜欢字符串了,字符串神马的最有爱了。

女神是一个重度强迫症患者,面对不是对称的东西,她会觉得太违和了,就会爆炸。所以她手上的字符串都是回文的,像什么a,b,aabaa,abcba,上海自来水来自海上...等等。

女神的人生理想就是把所有字符串都改造成回文串!这是非常宏伟的理想。

一切理想都从最简单的开始。

好了,现在女神面前有一堆字符串,然后请问能否通过删去一个字符,使这个字符串变成回文串?

Input

多组数据,每组数据是一个字符串S,仅有英文小写字母组成

1<=|S|<=100000

Output

对于每组数据,若可以通过删除一个字符来变成回文串,则输出该字符的下标,若不能
或不需要删除,请输出-1

Sample Input

aaabbaaaaa

Sample Output

30-1 解题思路:     这题折腾我好久,个人因为一些特殊的情况漏掉了,导致提交一直错误,我的做法步骤是,1、判断不删除字符是不是符合,2、去掉第一个字符是不是符合,3、去掉最后一个字符是不是符合,4、用一个i、j标记首位的下标,找到不相等的位置,开始判断,如果i的位置等于len/2,需要删除的字符位置就是i,如果不是就要分4种情况来判断了,第一种就是s[i+1]==s[j]&&s[i]==s[j-1],第二种s[i+1]!=s[j]&&s[i]==s[j-1],第三种s[i+1]==s[j]&&s[i]!=s[j-1]第四种s[i+1]!=s[j]&&s[i]!=s[j-1],用if来解决。 AC代码:
#include
#include
#include
#include
#include
#include
#include
using namespace std;int flag,sum;char s[100005];int judge1(int si,int sj,int m){ int i,j; for(i=si,j=sj; i

 

 

转载于:https://www.cnblogs.com/gaojupeng/p/4480292.html

你可能感兴趣的文章
ajaxFileUpload文件上传
查看>>
Java凝视Override、Deprecated、SuppressWarnings具体解释
查看>>
C++学习笔记13-类继承
查看>>
修改以及设计好的表
查看>>
UML用例图总结
查看>>
八大排序算法
查看>>
在LINUX终端和VIM下复制粘贴
查看>>
IE开发人员工具手册
查看>>
【转】android是32-bit系统还是64-bit系统
查看>>
C 文件操作库函数总结
查看>>
CSS 清除浮动的几种方式
查看>>
[转]PHP: 深入pack/unpack
查看>>
外包:卡卡软件简要思路
查看>>
H264码流打包分析(精华)
查看>>
VK Cup 2012 Qualification Round 2 C. String Manipulation 1.0 字符串模拟
查看>>
Pyqt5 获取命令行参数sys.argv
查看>>
virtaulbox视图模式常用切换
查看>>
尹中立:“人造牛市”的结局可能会非常悲惨
查看>>
堆C数组实现
查看>>
设计模式
查看>>