阅读量:0
要判断一个字符串是否为回文串,可以采取以下步骤:
- 定义两个指针,一个指向字符串的开头,一个指向字符串的结尾。
- 对于每一对指针指向的字符,比较它们是否相等。如果相等,则将两个指针都向中间移动一位;如果不相等,则说明字符串不是回文串。
- 重复步骤2,直到两个指针相遇或者交叉。
- 如果两个指针相遇,则说明字符串是回文串;如果两个指针交叉,则说明字符串不是回文串。
下面是一个示例代码:
#include <stdio.h> #include <string.h> int isPalindrome(char* str) { int start = 0; int end = strlen(str) - 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("%s 是回文串\n", str); } else { printf("%s 不是回文串\n", str); } return 0; }
上述代码通过比较字符串的首尾字符来判断是否为回文串。在比较过程中,如果发现不相等的字符,则可以直接返回0,表示不是回文串。最后根据函数返回值来输出结果。