当前位置:首页 C++ > 正文

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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击