题目要求:实现回文判断(如:abcdedbca就是回文)
网上答案:
int find(char *str, int n)
{
if(n<=1) return 1;
else if(str[0]==str[n-1]) return find(str+1, n-2);
else return 0;
}
int main(int argc, char* argv[])
{
char *str = "abcdedcba";
printf("%s: %s/n", str, find(str,
strlen(str)) ? "Yes" : "No");
return getchar();
}
自己写的
#include <stdio.h>
#include <stdlib.h>
/*
题目要求:实现回文判断(如:abcdedbca就是回文)
*/
int huiwen(char *s,int len){
int i = 0, j = len -1;
if(len % 2 == 0){
while(i < len/2){
if(s[i] == s[j]){
i ++;
j --;
continue;
}
return 1;
}
}
else{
while(i <= len/2){
if(s[i] == s[j]){
i ++;
j --;
continue;
}
return 1;
}
}
return 0;
}
int main()
{
char *s ="adsdda";
int len = 0,flag = 0;
len = strlen(s);
flag = huiwen(s,len);
if(flag == 0){
printf("true");
}
else{
printf("false");
}
return 0;
}
收获:
学会了利用strlen函数求字符串指针的长度。
注:
strlen(s) 字符串指针长度
sizeof(s) 求得s的大小