C++で文字列を逆転させる方法は何ですか。
C++で文字列の反転を実装する方法は、次のように行うことができます。
- ループを使用する:文字列の先頭を指すポインタと文字列の末尾を指すポインタを使用して、それらが指す文字を交換し、個々にポインタを中央に向かって移動させ、両方のポインタが出会うまで繰り返す。以下にコードの例を示す。
#include <iostream>
#include <string>
void reverseString(std::string& str) {
int left = 0;
int right = str.length() - 1;
while (left < right) {
std::swap(str[left], str[right]);
left++;
right--;
}
}
int main() {
std::string str = "Hello World";
reverseString(str);
std::cout << str << std::endl; // 输出 "dlroW olleH"
return 0;
}
- 再帰を使用すると、文字列を1文字と残りの文字列に分割し、残りの文字列を再帰的に反転させ、文字を末尾に配置することができます。コードの例を以下に示します:
#include <iostream>
#include <string>
std::string reverseString(const std::string& str) {
if (str.length() <= 1) {
return str;
}
return reverseString(str.substr(1)) + str[0];
}
int main() {
std::string str = "Hello World";
str = reverseString(str);
std::cout << str << std::endl; // 输出 "dlroW olleH"
return 0;
}
ループまたは再帰を使用して、文字列の反転を実現することができます。具体的な要件や文字列の長さに応じて、適切な方法を選択して実装してください。