回文是指正读反读均相同的字符序列,如”abba”和”abdba”均是回文,但”good”不是回文。试写一个算法判定给定的字符序列是否为回文。用C语言
时间: 2024-10-21 19:15:25 浏览: 19
回文数是指正读和反读都相同的数.docx
在C语言中,我们可以使用双指针法来判断一个字符串是否是回文。这种方法通过从两端向中间遍历,比较对应位置的字符是否相等来进行判断。以下是简单的C语言函数实现:
```c
#include <stdbool.h>
#include <string.h>
bool isPalindrome(char str[]) {
int start = 0; // 左指针
int end = strlen(str) - 1; // 右指针
while (start < end) { // 当左指针小于右指针时继续循环
if (str[start] != str[end]) { // 如果两个字符不相等
return false; // 直接返回false,不是回文
}
start++; // 移动左指针
end--; // 移动右指针
}
return true; // 遍历结束,说明是回文
}
// 示例:
int main() {
char test_str[] = "aba"; // 测试字符串
if (isPalindrome(test_str)) {
printf("%s 是回文\n", test_str);
} else {
printf("%s 不是回文\n", test_str);
}
return 0;
}
阅读全文