【发布时间】:2019-05-18 03:24:36
【问题描述】:
这是我的代码包含一个递归代码,我想将它转换为一个迭代的,但我希望它通过递归的方式来反转字符串exactky .. 有可能吗 我的意思是划分它
#include <iostream>
#include <string.h>
using namespace std;
string reverse (string temp, int length)
{
if (length == 1)
{
return temp;
}
else
{
int t = (temp.length() + 1) / 2;
return
reverse(
temp.substr(t, temp.length() - 1),
t
) +
reverse(
temp.substr(0, t),
t
);
}
}
int main() {
string s;
cin>>s;
string rev = reverse(s, s.length());
cout <<"\n"<<rev;
cin>>s;
return 0;
}
【问题讨论】:
-
“没有”是什么意思?你遇到什么问题?发布的代码编译并似乎反转了输入的字符串。
-
如果我在函数 reverse 的返回之前插入一个“cout
-
程序以
hellokitty作为输入正常工作(结果:yttikolleh)。您应该精确地输出您期望的输出。你想看看步骤吗?如果是,请edit您的问题并向我们展示您期望的确切输出。
标签: arrays string recursion dynamic iteration