判断回文字符串的方法是首尾两个字符逐个比较,依次向中间移动,直到两个指针相遇或者左指针大于右指针。如果在比较过程中发现两个字符不相等,则该字符串不是回文字符串。以下是用C语言编写的判断回文字符串的函数:
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str) {
int len = strlen(str);
int left = 0;
int right = len - 1;
while (left < right) {
if (str[left] != str[right]) {
return 0;
}
left++;
right--;
}
return 1;
}
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str);
if (isPalindrome(str)) {
printf("The entered string is a palindrome.\n");
} else {
printf("The entered string is not a palindrome.\n");
}
return 0;
}
在上述代码中,isPalindrome
函数用于判断输入的字符串是否是回文字符串。首先获取字符串的长度,然后使用两个指针left
和right
分别指向字符串的首尾。在循环中,如果两个指针指向的字符不相等,则返回0表示不是回文字符串。如果两个指针相遇或者left
大于right
,则返回1表示是回文字符串。