【发布时间】:2011-08-11 07:13:08
【问题描述】:
最近,我一直在阅读《面向所有人的 C++》一书,但在将递归函数放在一起时遇到了麻烦(想一想……)
问题是:编写一个递归函数string reverse(string str),它返回str的逆函数
这是我目前所拥有的:
string reverse(string str)
{
string word = "";
if (str.length() <= 1)
{
return str;
}
else
{
string str_copy = str;
int n = str_copy.length() - 1;
string last_letter = str_copy.substr(n, 1);
str_copy = str_copy.substr(0, n);
word += reverse(str_copy);
return last_letter;
}
return word;
}
我现在的问题是:
如果我输入wolf,它会返回f
如果我将return last_letter 更改为return word,我会得到w
如果我更改为return str_copy,我会得到wol
【问题讨论】:
-
这个问题和stackoverflow.com/questions/5760774/…有区别吗?看起来很相似。
-
好吧,人们在大约 45 分钟后停止回答
-
这是一种错误的看法。如果您对给出的答案不满意,请至少等待半天。然后,您可以针对相同的问题开始赏金,而不是再次发布。
-
嘿,因为 45 分钟过去了,所以重新发布。我笑了。
-
没有。转发,因为没人发帖
标签: c++ string recursion reverse std