C++ 反转字符串
时间: 2023-07-11 21:05:33 浏览: 118
可以使用C++的标准库函数`reverse()`来反转一个字符串。具体实现如下:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
string str = "Hello World!";
reverse(str.begin(), str.end());
cout << str << endl;
return 0;
}
```
在上面的示例中,我们使用了`reverse()`函数将字符串反转,并输出结果。需要注意的是,`reverse()`函数可以接受一个字符串的起始和终止迭代器作为参数,这里我们使用了`begin()`和`end()`函数获取了字符串的迭代器。
相关问题
c++递归反转字符串
您可以使用递归函数来反转一个字符串。以下是一个使用C++编写的示例代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
void reverseString(string& str, int start, int end) {
// 递归终止条件
if (start >= end) {
return;
}
// 交换字符
swap(str[start], str[end]);
// 递归调用
reverseString(str, start + 1, end - 1);
}
int main() {
string str = "Hello, World!";
cout << "Original string: " << str << endl;
reverseString(str, 0, str.length() - 1);
cout << "Reversed string: " << str << endl;
return 0;
}
```
这段代码定义了一个名为 `reverseString` 的递归函数,接受一个字符串 `str`,以及字符串的起始索引 `start` 和结束索引 `end`。函数通过交换起始索引和结束索引所对应的字符来实现字符串的反转。首先检查递归终止条件,即 `start >= end`,如果满足则直接返回。否则,交换起始索引和结束索引所对应的字符,并递归调用 `reverseString` 函数,将起始索引增加1,结束索引减少1。在主函数中,我们测试了这个递归函数,并输出反转后的字符串。
c++如何反转字符串
在 C++ 中反转字符串的一种常见方法是使用双指针技术,即一个指向字符串开头,另一个指向结尾,然后逐次交换两个指针所指的字符直到它们相遇。这里是一个简单的例子:
```cpp
#include <iostream>
#include <string>
std::string reverseString(const std::string& str) {
int start = 0;
int end = str.length() - 1;
while (start < end) {
// 交换开始位置和结束位置的字符
char temp = str[start];
str[start] = str[end];
str[end] = temp;
// 移动指针
start++;
end--;
}
return str;
}
int main() {
std::string input = "Hello, World!";
std::cout << "Original string: " << input << "\n";
std::cout << "Reversed string: " << reverseString(input) << "\n";
return 0;
}
```
在这个示例中,`reverseString` 函数接收一个字符串作为输入,并通过迭代和交换字符来反转它。
阅读全文