我的代码有什么问题,而不是打印一个字符串的所有子序列,而是打印一个空子序列?

问题描述

嗨,我试图打印一个字符串的所有子序列,但它没有给出输出,如果我的代码中有错误,请帮助我 我无法弄清楚我的代码有什么问题,因为我还在学习,请帮助我 在这里,我将两个输入传递给函数字符串和空字符串,然后我进行递归,在字符串的输入大小变为 0 后将结果推送到向量 v 并将向量返回到主函数。但它没有打印我的字符串子序列...

'''

#include<iostream>
#include<vector>
using namespace std;

vector<string> gss(string ip,string op)
{
    vector<string> v;
    if(ip.length()==0)
    {
        v.push_back(op);
        return v;
    }
    
    string op1,op2;
    op1 = "";
    op2.push_back(ip[0]);
    ip.erase(ip.begin()+0);
    
    gss(ip,op1);
    gss(ip,op2);
    
    return v;

}

int main()
{
    string str;
    cin >> str;
    
    vector<string> ans = gss(str,"");
    
    cout<<"[";
    for(auto it: ans)
        cout<<it<<" ";
    cout<<"]";
    
    return 0;
}
'''

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)