[英]How to delete substrings with space in all possible substrings of a string?
问题是在给定的字符串中找到所有可能的子字符串。
我知道这个问题与此类似。
但我自己尝试。 我已经生成了所有可能的组合,但是问题是我想消除一些带有空格的字符串。
int main()
{
int t;
cin>>t;
while(t>0){
long long int n;
cin>>n;
string S;
cin>>S;
for(int i=1; i<=S.size(); i++) {
for(int j=0; j<=S.size()-1; j++) {
cout<<S.substr(j,i)<<endl;
}
}
t--;
}
return 0;
}
输入:
1
3
abb
实际输出:
a
b
b
ab
bb
b
abb
bb
b
预期产量:
a
b
b
ab
bb
abb
如您所见,其中一些带有空格的术语要在实际输出中消除,例如第6、8和9个术语。
从std::string::substr
的文档中
子字符串是对象的一部分,从字符位置pos开始并跨越len个字符 (或直到字符串的结尾,以先到者为准)。
您可能会误以为std::string::substr
的第二个参数是结束位置,但实际上它是第一个参数的偏移量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.