C++ string反转
时间: 2024-10-14 13:01:24 浏览: 12
在C++中,字符串反转是一个常见的编程练习,可以使用多种方法实现。以下是几种常见的方法:
1. **迭代法**:通过两个指针,一个指向字符串的开始,另一个指向结束,然后交换它们指向的字符,直到两者相遇。
```cpp
#include <string>
std::string reverseString(std::string str) {
int start = 0;
int end = str.length() - 1;
while (start < end) {
std::swap(str[start], str[end]);
start++;
end--;
}
return str;
}
```
2. **递归法**:将首尾字符互换,然后对剩下的部分继续进行递归操作,直到字符串只剩下一个字符。
```cpp
std::string reverseString(std::string str) {
if (str.empty())
return str;
return reverseString(str.substr(1)) + str[0];
}
```
3. **STL函数式编程**:利用C++17引入的`std::views`和`reverse`算法,结合`std::ranges::transform`。
```cpp
#include <string>
#include <algorithm>
#include <ranges>
std::string reverseString(std::string str) {
return std::ranges::transform(str, str.rbegin(), str.begin());
}
```
阅读全文