判断字符串是否是回文字符串或者是否含有回文字符子串 (我是从两颗番茄的博客看的题目,然后自己编的) 不断学习!!
2011-10-12 22:59
465 查看
声明:这是我从"两颗番茄"的博客看的题目,然后自己编的 不断学习!!
在此谢谢他 呵呵!
不仅能判断规则的中心对称,如123454321,还要能判断如123456547890中的45654的不规则部分中心对称
算法思想
从第一个字符开始,逐个扫描,对每一个字符,查找下一个相同字符,判断这两个字符之间的字符串是否回文。
在此谢谢他 呵呵!
不仅能判断规则的中心对称,如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 ) 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; }
相关文章推荐
- 每天一道算法题1 判断字符串是否是回文字符串或者是否含有回文字符子串
- 程序员面试题精选(37):判断字符串是否是回文字符串或者是否含有回文字符子串
- 判断字符串是否是回文字符串或者是否含有回文字符子串
- oracle的常用函数 instr() 和substr()函数 博客分类: oracle 在Oracle中 可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。 在一个
- php判断字符串是否含有中文字符
- 第十五周oj题目判断字符串是否回文
- 算法基础——判断一个字符串至多添加一个字符之后是否回文
- (iOS开发)判断字符串中是否含有非ASCII码字符
- C#判断输入的字符串中是否含有大写字母,小写字母,数字,字符
- 如何判断一个字符串中是否含有汉字或汉字标点(即双字节字符)
- linux shell 脚本判断某个文件是否有某个字符串以及统计含有某个字符串的个数然后做if else大于小于等于逻辑判断
- 判断一个字符串(超过80个字符)是否是回文结构(正序和逆序相同)
- php处理字符串,判断是否含有特殊符号,非中文,数字,字符
- C#判断输入的字符串中是否含有大写字母,小写字母,数字,字符
- 判断字符串string所有分割和子串是否为回文(palindrome)并返回结果(Palindrome Partitioning)
- shell 判断字符串中是否含有指定字符
- 从零开始学习算法(Java实现)~~~~之字符串篇~~~判断两个字符串是否是颠倒字母顺序构成的
- 判断一个字符串是否含有相同字符
- c语言:判断一个字符串中是否含有字符C
- C#判断输入的字符串中是否含有大写字母,小写字母,数字,字符