C++ 反转字符串
时间: 2023-07-11 07:05:33 浏览: 61
可以使用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。在主函数中,我们测试了这个递归函数,并输出反转后的字符串。
leetcode反转字符串c++
要反转一个字符串,可以使用双指针的方法。具体实现如下:
```cpp
#include <algorithm>
void reverseString(vector<char>& s) {
int left = 0;
int right = s.size() - 1;
while (left < right) {
// 交换左右指针所指向的字符
swap(s[left], s[right]);
left++;
right--;
}
}
```
上述代码中,我们使用两个指针 `left` 和 `right` 分别指向字符串的首尾元素。然后,我们不断交换 `left` 和 `right` 指针所指向的字符,并将 `left` 向右移动、`right` 向左移动。直到 `left` 不再小于 `right`,反转完成。
注意,我们传入的字符串 `s` 是一个引用,这样在函数内部修改 `s` 的内容会反映到函数外部。
希望能解答到您的问题!如有更多疑问,请继续提问。