c++经典的递归案例:使用尾递归优化反转字符串
作者:野牛程序员:2023-11-20 10:12:35 C++阅读 2783
c++经典的递归案例:使用尾递归优化反转字符串
#include <iostream>
// 经典的递归案例:使用尾递归优化反转字符串
void reverseStringTail(char str[], int start, int end) {
// 基本情况:如果起始索引大于或等于结束索引,表示反转完成
if (start >= end) {
return;
} else {
// 交换起始索引和结束索引处的字符
char temp = str[start];
str[start] = str[end];
str[end] = temp;
// 递归调用:继续反转剩余的部分
reverseStringTail(str, start + 1, end - 1);
}
}
int main() {
// 原始字符串
char originalStr[] = "Hello, World!";
int length = std::strlen(originalStr);
// 反转字符串
reverseStringTail(originalStr, 0, length - 1);
// 输出反转后的字符串
std::cout << "反转后的字符串是:" << originalStr << std::endl;
return 0;
}野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

