C++ 需要我的反向输入递归程序的帮助吗
可能重复:C++ 需要我的反向输入递归程序的帮助吗,c++,string,recursion,reverse,std,C++,String,Recursion,Reverse,Std,可能重复: P>最近,我一直在为大家阅读C++,而且我一直很难把递归函数(混淆思考…)< /P> 问题是:编写一个递归函数stringreverse(stringstr),返回str 这就是我到目前为止所做的: string reverse(string str) { string word = ""; if (str.length() <= 1) { return str; } else { string
P>最近,我一直在为大家阅读C++,而且我一直很难把递归函数(混淆思考…)< /P> 问题是:编写一个递归函数
stringreverse(stringstr)
,返回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;
}
字符串反转(字符串str)
{
字串=”;
如果(str.length()这将完成以下工作:
删除返回最后一封信
改变
word += reverse(str_copy);
到
我将把想法留给你
最好。这将完成以下工作:
删除返回最后一封信
改变
word += reverse(str_copy);
到
我将把想法留给你
最好。您需要返回最后一个字符(最后一个字母
)和字符串其余部分的反转组合,但在任何尝试中都不会这样做。您只会返回一部分或另一部分
string reverse(string str)
{
int len = str.length();
if (len <= 1)
{
return str;
}
else
{
return str.substr(len-1, 1) + reverse( str.substr(0, len-1) );
}
}
字符串反转(字符串str)
{
int len=str.length();
若(len您需要返回最后一个字符(last_letter
)的组合和字符串其余部分的反转,但在任何尝试中都不会这样做。您只会返回一部分或另一部分
string reverse(string str)
{
int len = str.length();
if (len <= 1)
{
return str;
}
else
{
return str.substr(len-1, 1) + reverse( str.substr(0, len-1) );
}
}
字符串反转(字符串str)
{
int len=str.length();
如果(len,这个问题与其他问题不同吗?看起来很相似。人们在45分钟后就不再回答了。这是一个错误的看法。如果你对给出的答案不满意,至少等半天。然后,你可以开始对同一个问题进行悬赏,而不是再次发布。嘿,因为45分钟过去了,所以重新发布。我哈哈,不.Repost'因为没有人发帖这个问题与之不同吗?看起来很相似。人们在45分钟后停止回答,这是一种错误的看法。如果你对给出的答案不满意,至少等待半天。然后,你可以开始对同一个问题进行奖励,而不是再次发帖。嘿,发帖是因为45分钟几分钟过去了。我lol'd.No.Repost'因为没有人因为一个错误而发帖——应该是reverse(str.substr(0,len-1));
否则内部reverse
与外部reverse
具有相同的str
。关闭一个错误——应该是reverse(str.substr(0,len-1))
否则内部的反转
与外部的反转
具有相同的str
。是的。它工作!!!!!昨天开始的,但无法理解。谢谢。它工作!!!!!昨天开始的,但无法理解。谢谢