作者在 2007-11-04 05:56:00 发布以下内容
最近为了应付各种场合找工作,参加了许多笔试,发现以前学的很多算法都可以改进一下,这里我就把我在信利的笔试中的回文串算法写出来给大家看一下吧。
原理:回文串必须满足两边相应该位置上的字符相等,才构成回文串的,例如:abcdedcba就可构成一个回文串,其它比较的只是两个字符,所以我们可以利用递归来实现,算法如下:
int reserve(char *str,int n)
{
if(n<2)return 1;
return str[0]==str[n-1]&&reserve(str+1,n-2);
}
是不是很简单啊,传参数的方法:char a[10]="abcdedcba"; int b=reserve(a,strlen(a));
算法实现,如果大家有其它语言的好算法,也希望能帖出来大家共享哦!