编程回文字符串怎么写

时间:2025-01-28 09:55:57 网络游戏

编写一个程序来判断一个字符串是否为回文字符串,可以使用以下方法:

双指针法

初始化两个指针,一个指向字符串的开头,另一个指向字符串的末尾。

逐步移动指针,比较对应位置的字符是否相等。

如果所有对应字符都相等,则该字符串是回文字符串;否则,不是回文字符串。

```cpp

include

include

using namespace std;

bool isPalindrome(const string& s) {

int left = 0;

int right = s.size() - 1;

while (left < right) {

if (s[left] != s[right]) {

return false;

}

left++;

right--;

}

return true;

}

int main() {

string input;

cout << "请输入一个字符串: ";

getline(cin, input);

if (isPalindrome(input)) {

cout << "是回文字符串" << endl;

} else {

cout << "不是回文字符串" << endl;

}

return 0;

}

```

中心扩展法

从字符串的开头或末尾开始,逐步向中间扩展。

比较扩展过程中的字符,如果所有字符都相等,则该字符串是回文字符串;否则,不是回文字符串。

```cpp

include

include

using namespace std;

bool isPalindrome(const string& s) {

int left = 0;

int right = s.size() - 1;

while (left < right) {

if (s[left] != s[right]) {

return false;

}

left++;

right--;

}

return true;

}

int main() {

string input;

cout << "请输入一个字符串: ";

getline(cin, input);

if (isPalindrome(input)) {

cout << "是回文字符串" << endl;

} else {

cout << "不是回文字符串" << endl;

}

return 0;

}

```

这两种方法都可以有效地判断一个字符串是否为回文字符串。选择哪种方法取决于具体的需求和编程风格。