【问题标题】:String given should get reversed using recursive function给定的字符串应该使用递归函数反转
【发布时间】:2020-03-12 11:25:07
【问题描述】:

我正在编写代码,其中给出的字符串应该使用递归函数反转,并且 size() 用于计算字符串的大小,但它给出了一个错误

#include<bits/stdc++.h> 
using namespace std; 

int reverse(string);
int main()  
{  
    string str = "Reverse a string";//given string  
    reverse(str);
    return 0;  
}  
int reverse(string str)  
{
    if(str.size() == 0)
    {
        return 0;
    }
    return(reverse(str+1));
}  

【问题讨论】:

  • 你怎么认为它可以反转字符串?
  • 为什么不直接使用std::reverse?一行代码,你就完成了。
  • 阅读错误并修复它告诉您的错误可能会有所帮助。

标签: c++ string pointers recursion


【解决方案1】:

你的代码有一些问题。

  1. 你正在做 (str+1) // 这是错误。给字符串加 1 没有任何意义。
  2. 返回 int 是什么意思。 ?

应该是这样的

void reverse(string str)  
{  
    if(str.size() == 0) 
    { 
        return; 
    } 
    reverse(str.substr(1)); 
    cout << str[0]; 
} 

【讨论】:

    猜你喜欢
    • 2013-02-25
    • 2011-03-26
    • 2022-01-09
    • 2013-03-20
    • 2017-07-20
    • 2020-07-27
    • 2017-06-11
    相关资源
    最近更新 更多