当前位置: 首页 > news >正文

判断字符串是否是回文字符串或者是否含有回文字符子串 (我是从两颗番茄的博客看的题目,然后自己编的) 不断学习!!...

   声明:这是我从"两颗番茄"的博客看的题目,然后自己编的  不断学习!!

       在此谢谢他 呵呵!

不仅能判断规则的中心对称,如123454321,还要能判断如123456547890中的45654的不规则部分中心对称

算法思想

从第一个字符开始,逐个扫描,对每一个字符,查找下一个相同字符,判断这两个字符之间的字符串是否回文。

#include <iostream.h>
#include <string.h>
#define ERROR 0
#define OK 1
int Find(int m,int n,char arr[]) 
{//查找相同的元素,返回相同的位置
	for(;m<n;--n)
	{
		if(arr[m]==arr[n])
			return n;
	}
	return -1;
}
int Cmp(int a,int b,char arr[])
 {//比较是否存在回文
    while(arr[a]==arr[b])
	{//比较每一个元素
		++a;
		--b;
		if(a>=b)
			 return OK;   //比较结束
	}
	return ERROR;
 }
int main()
{
	int i=0,j=0;
	int m=0,max=0,n;
	char str[20];
	cin>>str;
     while(str[j])
	 {
         ++j;
	 }
	 --j;  //数组的最后一位为j
	 max=j;  //数组的最大值
	 n=max;
	 for(;m<=n;++m)
	 {
		 int p=Find(m,n,str);
		 if(p) 
		  	if(Cmp(m,p,str))
				{  //若存在回文
				cout<<"存在回文"<<endl;
					for(int x=m;x<=p;++x)
					{
						cout<<str[x]<<" ";
					}
					return 0;
				}
	 }
	 cout<<"不存在回文"<<endl;
	return 0;
}

  

相关文章:

  • DICOMDIR结构
  • MVC2 Area实现网站多级目录
  • IBM Java多线程 - 4.共享对数据的访问
  • TADOQuery池
  • Windows7问题集
  • 连接postgres特别消耗cpu资源而引发的PostgreSQL性能优化考虑
  • 应用开发框架之——业务规则脚本化
  • 对等计算实践: P2P 遇上 SSL
  • Sprout and the Bean
  • 数据库水平拆分和垂直拆分区别(以mysql为例)
  • 跟我一起学WCF(11)——WCF中队列服务详解
  • 第6期(江西省吉安市永丰县)县长手机信箱工作简报(自吹自擂政绩,自圆其说)
  • 各种排序算法的稳定性和时间复杂度小结
  • Java 种15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁等等...
  • 前端设计模式(0)面向对象设计原则
  • 「面试题」如何实现一个圣杯布局?
  • 【剑指offer】让抽象问题具体化
  • css布局,左右固定中间自适应实现
  • CSS魔法堂:Absolute Positioning就这个样
  • extract-text-webpack-plugin用法
  • Github访问慢解决办法
  • Git同步原始仓库到Fork仓库中
  • Iterator 和 for...of 循环
  • java2019面试题北京
  • java中的hashCode
  • jquery cookie
  • KMP算法及优化
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • node-glob通配符
  • Redis字符串类型内部编码剖析
  • VuePress 静态网站生成
  • Webpack 4 学习01(基础配置)
  • 成为一名优秀的Developer的书单
  • 对超线程几个不同角度的解释
  • 高性能JavaScript阅读简记(三)
  • 如何使用 JavaScript 解析 URL
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 微信开源mars源码分析1—上层samples分析
  • 学习使用ExpressJS 4.0中的新Router
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​iOS实时查看App运行日志
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • #AngularJS#$sce.trustAsResourceUrl
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (九)c52学习之旅-定时器
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (十六)一篇文章学会Java的常用API
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (一)80c52学习之旅-起始篇
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (原創) 物件導向與老子思想 (OO)
  • (转) 深度模型优化性能 调参
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)母版页和相对路径