字符串反转函数c++、
时间: 2024-09-21 19:04:19 浏览: 36
ZIFUCHUAN.zip_字符串反转
在C++中,字符串反转是一个常见的编程练习,可以使用多种方法来实现。以下是几种常见的方法:
1. **迭代法**:
```cpp
void reverseString(string& str) {
int start = 0;
int end = str.length() - 1;
while (start < end) {
swap(str[start], str[end]);
start++;
end--;
}
}
```
这里通过交换字符串两端的字符,逐步向中间移动,直到整个字符串都被反转。
2. **递归法**:
```cpp
void reverseStringRecursion(string& str, int start, int end) {
if (start >= end)
return;
swap(str[start], str[end]);
reverseStringRecursion(str, start + 1, end - 1);
}
```
递归版本将问题分解为两个较小的子问题,每次递归调用缩小待处理区域。
3. **标准库函数**:
C++17及以上版本引入了`std::reverse`函数,可以直接对字符串进行反转:
```cpp
void reverseStringWithStdLibrary(string& str) {
std::reverse(str.begin(), str.end());
}
```
这是最简洁的方式,利用了STL库提供的现成功能。
阅读全文