“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。
1.题目描述
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。
花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。
现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。
你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。
如果字符串B插入的位置不同就考虑为不一样的办法。
例如:
A = “aba”,B = “b”。这里有4种把B插入A的办法:
- 在A的第一个字母之前: “baba” 不是回文
- 在第一个字母‘a’之后: “abba” 是回文
- 在字母‘b’之后: “abba” 是回文
- 在第二个字母’a’之后 “abab” 不是回文
所以满足条件的答案为2
输入描述:
每组输入数据共两行。
第一行为字符串A
第二行为字符串B
字符串长度均小于100且只包含小写字母
输出描述:
输出一个数字,表示把字符串B插入字符串A之后构成一个回文串的方法数
示例1
输入
aba
b
输出
2
2.代码展示
#include<iostream>
#include<string>
using namespace std;
bool palindrome(const string &s)
{ int begin=0,end=s.size()-1;while (begin<end) {if (s[begin] == s[end]) ++begin,--end;elsereturn false; }return true;
}
int main()
{string s1,s2;cin>>s1>>s2; string s(s1); int count = 0; for (int i=0; i<=s1.size(); ++i) {s.insert(i,s2); if (palindrome(s)){++count; }s = s1; }cout<<count<<endl; return 0;
}
3.解题思路
先写一个判断回文串的函数,然后将s2插入s1临时拷贝中,如果可以count++,不可以就复原s1继续判断,直到输出。
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。相关推荐
- 统计回文。“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。
"回文串"是一个正读和反读都一样的字符串,比如"level"或者"noon"等等就是回文串.花花非常喜欢这种拥有对称美的回文串,生日的时候她 ...
- “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
# include <stdio.h> # include <string.h>int main (void) {int n;while (scanf("%d&quo ...
- 输入一个字符串,判断其是否是回文。(回文:即正读和反读都一样,如abccba, abccba)
输入一个字符串,判断其是否是回文.(回文:即正读和反读都一样,如abccba, abccba) 这里讨了个巧用了strcmp函数 注:strcmp用法: 字符串比较函数,一般形式为strcmp(字符串 ...
- 12.15有一种数叫回文数,正读和反读都一样,如12321便是一个回文数。编写一个程序,从命令行得到一个整数,判断该数是不是回文数
有一种数叫回文数,正读和反读都一样,如12321便是一个回文数.编写一个程序,从命令行得到一个整数,判断该数是不是回文数 package Text6;import java.util.Scanner; ...
- 有一种数叫回文数,正读和反读都一样,如12321便是一个回文数。编写一个程序,从命令行得到一个整数,判断该数是不是回文数。
package task08;import java.util.Scanner;/** 8.有一种数叫回文数,正读和反读都一样,如12321便是一个回文数.* 编写一个程序,从命令行得到一个整数,判断 ...
- 编写函数求区间[200,3000]中所有的回文数, 回文数是正读和反读都是一样的数
题目要求: 编写函数求区间[200,3000]中所有的回文数, 回文数是正读和反读都是一样的数.如525, 1551 无输入 输出 输出区间[200,3000]中所有的回文数,一行一个回文数, 不需要 ...
- 编写程序判断输入的字符串是否是“回文”
编写程序判断输入的字符串是否是"回文"(顺读和倒读都一样的字符串,称"回文") 下面展示一些 代码及输出结果. 输入:abcba 输出:是回文 // An hi ...
- [js] 请写一个性能最好的深度克隆对象的方法
[js] 请写一个性能最好的深度克隆对象的方法 const deepClone = (obj) => {const copy = obj instance Array ? [] : {};for ...
- 写一个方法判断一个整数是否为质数_请写一个函数来检查用户提交的数据是否为整数...
请写一个函数来检查用户提交的数据是否为整数(不区分数据类型,可以为二进制.八进制.十进制.十六进制数字) 1.is_integer 是 is_int() 的别名,是一样的 2.is_int/is_in ...
最新文章
- 还在为入门深度学习发愁吗?其实你只需要一周的时间
- 【C 语言】文件操作 ( 写文本文件 | Qt 创建 C 语言命令行项目 )
- Java Web -【分页功能】详解
- 让电脑替你说:"I IOVE YOU"
- 少女风vue组件库制作全攻略~~
- java 接口嵌套接口_Java接口嵌套
- python实现人脸检测及识别(1)---- 采集人脸数据
- java web 开发分层
- dsp 有fft程序吗_Python 中 FFT 快速傅里叶分析
- 【UVA1599】Ideal Path理想路径--两种约束条件(!!双向bfs+非简单图的最短路+无向图邻接记录法)
- 柱状图如何添加数字标签_分类堆叠柱状图顺序排列及其添加合适条块标签
- 【运筹学】产销平衡问题的表上作业法
- 城市按A-Z json表
- Python札记 -- 切片赋值
- 【培训实验记录】锐捷SDN交换机和控制器部署
- SAR成像系列:【5】合成孔径雷达(SAR)成像算法-距离多普勒(RD)算法(附Matlab代码)
- 太极图php代码,css画太极图(阴阳八卦)
- 一千度近视眼学计算机,【震惊了】你见过近视8百,1千,3千,5千度?你见过9000度吗?...
- iOS开发初级错误 Expression is not assignable
- iOS Gif动画播放