TITLE:-Replace Character Recursively
PROBLEM:-
Do this recursively.
Line 1 : Input String S
Line 2 : Character c1 and c2 (separated by space)
Updated string
Constraints :
1 <= Length of String S <= 10^6
abacd
a x
Sample Output :
xbxcd
SOLUTION:-
#include <iostream>
using namespace std;
void replaceCharacter(char input[], char c1, char c2) {
/* Don't write main().
* Don't read input, it is passed as function argument.
* No need to print or return the output.
* Change in the given input string itself.
* Taking input and printing output is handled automatically.
*/
if(input[0]=='\0')
return;
if(input[0]!=c1)
replaceCharacter(input+1,c1,c2);
else{
input[0]=c2;
replaceCharacter(input+1,c1,c2);
}
}
int main() {
char input[1000000];
char c1, c2;
cin >> input;
cin >> c1 >> c2;
replaceCharacter(input, c1, c2);
cout << input << endl;
}