C++判断一个字符串是否为回文串的算法(含完整源码)
回文串是指正着和反着读都一样的字符串,比如“level”、“racecar”等。那么,如何用 C++ 判断一个字符串是否为回文串呢?下面我们就一起来看一下。
首先,我们要明确如何判断一个字符串是否为回文串。可以通过对称比较字符串左右两端的字符,如果相等则继续比较,否则直接判定不是回文串。闫氏算法即采用这种对称比较的思想。
具体实现如下:
#include <iostream>
#include <string.h>
using namespace std;
bool isPalindrome(char s[]) {
int len = strlen(s);
for (int i = 0; i < len / 2; i++) {
if (s[i] != s[len - i - 1]) {
return false;
}
}
return true;
}
int main() {
char s[101];
while (scanf("%s", s) != EOF) {
bool res = isPalindrome(s);
if (res == true) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
}
r
本文介绍了如何使用C++编写一个判断字符串是否为回文串的算法。通过比较字符串首尾字符,若相等则继续比较,否则判定非回文。提供的isPalindrome函数实现此逻辑,并在主函数中读取输入,调用该函数输出结果。
订阅专栏 解锁全文
8477

被折叠的 条评论
为什么被折叠?



