c语言

c语言如何判断是否是回文

小亿
147
2023-08-24 18:45:00
栏目: 编程语言

判断一个字符串是否是回文的方法可以使用双指针的方式。具体步骤如下:

  1. 定义两个指针,一个指向字符串的开头,一个指向字符串的末尾。

  2. 当两个指针指向的字符相同时,将两个指针分别向字符串的中间移动,继续比较下一个字符。

  3. 如果两个指针指向的字符不相等,则字符串不是回文。

  4. 重复步骤2和3,直到两个指针相遇或者交叉(当字符串长度为奇数时,相遇;当字符串长度为偶数时,交叉)。

  5. 如果在整个过程中没有发现不相等的字符,则字符串是回文。

以下是一个示例代码:

#include <stdio.h>
#include <stdbool.h>
#include <string.h>
bool isPalindrome(char *str) {
int left = 0;
int right = strlen(str) - 1;
while (left < right) {
if (str[left] != str[right]) {
return false;
}
left++;
right--;
}
return true;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (isPalindrome(str)) {
printf("%s 是回文\n", str);
} else {
printf("%s 不是回文\n", str);
}
return 0;
}

输入一个字符串后,程序会输出该字符串是否是回文。

0
看了该问题的人还看了