What will be the output of the following C++ code?
#include <string>
#include <iostream>
using namespace std;
void string_permutation( string& orig, string& perm )
{
if (orig.empty())
{
cout<<perm<<endl;
return;
}
for (int i = 0; i < orig.size(); ++i)
{
string orig2 = orig;
orig2.erase(i, 1);
string perm2 = perm;
perm2 += orig.at(i);
string_permutation(orig2, perm2);
}
}
int main()
{
string orig = "ter";
string perm;
string_permutation(orig, perm);
return 0;
}
#include <string>
#include <iostream>
using namespace std;
void string_permutation( string& orig, string& perm )
{
if (orig.empty())
{
cout<<perm<<endl;
return;
}
for (int i = 0; i < orig.size(); ++i)
{
string orig2 = orig;
orig2.erase(i, 1);
string perm2 = perm;
perm2 += orig.at(i);
string_permutation(orig2, perm2);
}
}
int main()
{
string orig = "ter";
string perm;
string_permutation(orig, perm);
return 0;
}A. ter
B. ert
C. ret
D. returns all the combination of ter
Answer: Option D

Join The Discussion