定义一个字符串类String,实现判断该字符串是否为回文字符串。所谓回文字符串,是指该字符串左右对称。例如字符串“123321”是回文字符串。
时间: 2023-12-30 12:02:35 浏览: 128
好的,以下是一个简单的String类的实现,包含判断是否为回文字符串的方法:
```c++
#include <iostream>
#include <cstring>
using namespace std;
class String {
private:
char *str;
int len;
public:
String(const char *s = "") {
len = strlen(s);
str = new char[len + 1];
strcpy(str, s);
}
~String() {
delete[] str;
}
bool isPalindrome() {
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
return false;
}
}
return true;
}
};
int main() {
String s1("123321");
String s2("hello");
cout << s1.isPalindrome() << endl; // 输出1
cout << s2.isPalindrome() << endl; // 输出0
return 0;
}
```
在上面的代码中,String类包含一个字符数组指针str和一个整型变量len,用于保存字符串和字符串长度。构造函数使用字符串s来初始化str和len。析构函数释放str指向的内存。isPalindrome()方法遍历字符串的前半部分,判断每个字符是否与对应位置的字符相同,如果不同则返回false,否则返回true。
阅读全文