#include <stdio.h>
#include <string.h>
int isParlindromeString(char a[]) {
int i, len, mid, next, top;
len = (int)strlen(a);
// 求字符串中点
// (eg:奇数个[1,2,3],mid=0;偶数个[1,2,3,4], mid=1)
mid = len / 2 - 1;
char temp[mid+1];
top = 0;
// 将mid前的字符依次入栈
for (i = 0; i <= mid; i++) {
temp[top] = a[i];
top++;
}
// 判断字符串的长度是奇数还是偶数
// 并找出需要进行字符匹配的起始下标
if (len % 2 == 0) {
next = mid + 1;
} else {
next = mid + 2;
}
for (i = next; i <= len - 1; i++) {
top--;
if(a[i] != temp[top]) {
break;
}
}
if (top == 0) {
return 1;
} else {
return 0;
}
}
网友评论