Replace a character c1 with c2 and c2 with c1 in a string S

• Difficulty Level : Basic
• Last Updated : 04 May, 2021

Given a string S, c1 and c2. Replace character c1 with c2 and c2 with c1.
Examples:

Input : grrksfoegrrks,
c1 = e, c2 = r
Output : geeksforgeeks

Input : ratul,
c1 = t, c2 = h
Output : rahul

Traverse through the string and check for the occurrences of c1 and c2. If c1 is found then replace it with c2 and else if c2 is found replace it with c1.

C++

 // CPP program to replace c1 with c2// and c2 with c1#include using namespace std;string replace(string s, char c1, char c2){    int l = s.length();     // loop to traverse in the string    for (int i = 0; i < l; i++) {         // check for c1 and replace        if (s[i] == c1)            s[i] = c2;         // check for c2 and replace        else if (s[i] == c2)            s[i] = c1;    }    return s;} // Driver code to check the above functionint main(){    string s = "grrksfoegrrks";    char c1 = 'e', c2 = 'r';    cout << replace(s, c1, c2);    return 0;}

Java

 // Java program to replace c1 with c2// and c2 with c1class GFG{     static String replace(String s,                    char c1, char c2){    int l = s.length();    char []arr = s.toCharArray();         // loop to traverse in the string    for (int i = 0; i < l; i++)    {             // check for c1 and replace        if (arr[i] == c1)            arr[i] = c2;                     // check for c2 and replace        else if (arr[i] == c2)            arr[i] = c1;    }         return String.valueOf(arr);} // Driver codepublic static void main(String []args){    String s = "grrksfoegrrks";    char c1 = 'e', c2 = 'r';    System.out.println(replace(s, c1, c2));}} // This code is contributed// by ChitraNayal

Python3

 # Python3 program to replace c1 with c2# and c2 with c1def replace(s, c1, c2):    l = len(s)         # loop to traverse in the string    for i in range(l):                 # check for c1 and replace        if (s[i] == c1):            s = s[0:i] + c2 + s[i + 1:]                 # check for c2 and replace        elif (s[i] == c2):            s = s[0:i] + c1 + s[i + 1:]    return s # Driver Codeif __name__ == '__main__':    s = "grrksfoegrrks"    c1 = 'e'    c2 = 'r'    print(replace(s, c1, c2)) # This code is contributed# by PrinciRaj1992

C#

 // C# program to replace c1 with c2// and c2 with c1using System;public class GFG{     static String replace(String s,                        char c1, char c2)    {        int l = s.Length;        char []arr = s.ToCharArray();         // loop to traverse in the string        for (int i = 0; i < l; i++)        {             // check for c1 and replace            if (arr[i] == c1)                arr[i] = c2;                             // check for c2 and replace            else if (arr[i] == c2)                arr[i] = c1;        }         return string.Join("", arr);    }     // Driver code    public static void Main()    {        String s = "grrksfoegrrks";        char c1 = 'e', c2 = 'r';        Console.WriteLine(replace(s, c1, c2));    }}// This code is contributed by 29AjayKumar



Javascript



Output:

geeksforgeeks

Time Complexity: O(n)

My Personal Notes arrow_drop_up