判断一个字符串能否通过添加一个字符变成回文串
来源:互联网 发布:淘宝店设计装修多少钱 编辑:程序博客网 时间:2024/05/17 00:56
蘑菇街笔试题目: 判断一个字符串能否通过添加一个字符变成回文串
相关概念:
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。
回文可分为两种:偶数回文和奇数回文,偶数回文中间两个字符相同,奇数回文中间只有一个字符;
题目可以分为三种情况:
(1)原字符串即为回文串,直接在中间添加和中间字符相同的字符即可;
(2)缺少一个字符,找出缺少位置;
(2)缺少多个字符,无法通过添加一个字符改造为回文字符;
#include<stdio.h>#include<iostream>#include<string>using namespace std;int main(){char str[30];gets(str);int len=strlen(str);int i=0,j=len-1;int countdif=0;while(i<j){if(str[i]==str[j])//首尾相向比较{i++;j--;}else{if(str[i+1]==str[j]||str[i]==str[j-1])//判断是否为缺失位{str[i+1]==str[j] ? i++:j-- ;countdif++;}else{countdif=2;break;}}}switch(countdif){case 0:cout<<"本来就是回文字串"<<endl;break;case 1:cout<<"可以改造为回文子串"<<endl;break;default:cout<<"不可以改造为回文子串"<<endl;break;}return 0;}
0 0
- 判断一个字符串能否通过添加一个字符变成回文串
- 判断一个字符串是否能够通过添加一个字符变成回文序列的方法
- 给定一个字符串,问是否能够通过添加一个字母将其变成“回文串”
- 【编程题】-C++实现:判断字符串在末尾加一个字符,能否构成回文串
- 输入一个字符串,判断该字符串插入一个字符,能否使其成为回文字符串
- 一个字符串要变成回文串的需要添加的字符最少个数
- 在一个非回文字符串后添加字符变成最短的回文字符串
- 判断一个字符串的字符重新排列后,能否变成另一个字符串。
- 判断是否能通过添加一个字母将字符串变为回文串
- 算法基础——判断一个字符串至多添加一个字符之后是否回文
- Java判断一个字符串能否在顺序重组后成为回文串
- 【笔试】58、确定其中一个字符串的字符重新排列后,能否变成另外一个字符串
- 给一个字符串,在后边最短添加什么,才能使得整体变成回文串
- 面试3之确定其中一个字符串的字符重新排列后,能否变成另一个字符串
- 给定一个字符串,问是否能通过添加一个字母将其变为回文串。
- 14、JAVA 判断一个数/字符串是不是回文?实现字符串的逆序,如“abcd”变成“dcba”
- 通过最长公共子串求得使得一个串变为回文串的最少添加字符
- 判断一个字符串是否回文
- 像素格式的定义
- mysql语句:批量更新多条记录的不同值
- tomcat+apache集群配置
- Objective-C 协议(protocol)
- web.xml配置项学习笔记
- 判断一个字符串能否通过添加一个字符变成回文串
- Hibernate(七)——继承映射
- 关于Android Studio 出现Unrecognized Windows Sockets error: 10107: Socket creation failed解决办法
- Android Studio中的git配置中文件修改颜色
- 第三周项目3-求集合并集
- 第四周-项目2 - 建设“单链表”算法库
- xml文件的处理
- MongoDB 基础操作
- jQuery写的一棵动态加载的树