使用c++代码实现:给定k条字符串,分别判断其是否为回文串
时间: 2024-11-04 16:11:09 浏览: 1
回文:检测给定的字符串是否为回文
在C++中,你可以使用两个指针分别从字符串的开头和结尾向中间移动,同时比较它们指向的字符是否相等。如果所有字符都匹配并且指针相遇,那么这个字符串就是回文串。以下是简单的函数实现:
```cpp
#include <iostream>
#include <string>
bool isPalindrome(const std::string& s, int k) {
int left = 0;
int right = s.length() - 1;
for (int i = 0; i < k && left < right; ++i) {
if (s[left] != s[right]) {
return false;
}
left++;
right--;
}
// 如果k次遍历结束都没有发现不匹配,说明是回文串
return true;
}
int main() {
std::string str[] = {"level", "radar", "hello"};
const int k = sizeof(str) / sizeof(str[0]);
for (int i = 0; i < k; ++i) {
if (isPalindrome(str[i], k)) {
std::cout << str[i] << " is a palindrome.\n";
} else {
std::cout << str[i] << " is not a palindrome.\n";
}
}
return 0;
}
```
在这个例子中,`isPalindrome`函数接受一个字符串和一个整数k作为输入,检查第一个k个字符串是否都是回文串。
阅读全文