判断一个字符串是否是回文字符串的常见方法是使用双指针法。
具体步骤如下:
-
定义两个指针,分别指向字符串的首尾字符。
-
循环判断首尾字符是否相等,若相等则继续向中间移动指针,若不相等则说明不是回文字符串。
-
当指针相遇或者交叉时,说明字符串是回文字符串。
以下是一个示例的C语言代码实现:
#include#include #include bool isPalindrome(char* s) { int left = 0; // 左指针 int right = strlen(s) - 1; // 右指针 while (left < right) { if (s[left] != s[right]) { return false; // 如果首尾字符不相等,则不是回文字符串 } left++; right--; } return true; // 首尾字符全部相等,是回文字符串 } int main() { char s[] = "level"; if (isPalindrome(s)) { printf("%s is a palindrome.\n", s); } else { printf("%s is not a palindrome.\n", s); } return 0; }
输出结果为:
level is a palindrome.