c++递归反转字符串
时间: 2023-10-18 21:58:31 浏览: 147
您可以使用递归函数来反转一个字符串。以下是一个使用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。在主函数中,我们测试了这个递归函数,并输出反转后的字符串。
阅读全文