判断一个字符串是否为回文串可以通过以下步骤实现:
- 定义两个指针,分别指向字符串的开头和结尾;
- 依次比较两个指针指向的字符是否相等,如果相等则继续向中间移动,直到两个指针相遇;
- 如果在比较过程中发现两个指针指向的字符不相等,则说明该字符串不是回文串;
- 如果两个指针相遇时都没有发现不相等的字符,则说明该字符串是回文串。
下面是用C语言实现的代码示例:
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str) {
int len = strlen(str);
int start = 0;
int end = len - 1;
while (start < end) {
if (str[start] != str[end]) {
return 0; // 不是回文串
}
start++;
end--;
}
return 1; // 是回文串
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (isPalindrome(str)) {
printf("是回文串\n");
} else {
printf("不是回文串\n");
}
return 0;
}
输入一个字符串后,程序会判断该字符串是否为回文串并输出结果。