Open In App

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

Improve
Improve
Like Article
Like
Save
Share
Report

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. 

Implementation:

C




// C program to replace c1 with c2
// and c2 with c1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
  
char * replace(char s[40], 
               char c1, char c2)
{
    int l = strlen(s);
  
    // 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
int main()
{
    char s[40] = "grrksfoegrrks";
    char c1 = 'e', c2 = 'r';
    char * result = malloc(40); 
    result = replace(s, c1, c2);
    printf("%s", result);
    return 0;
}


C++




// CPP program to replace c1 with c2
// and c2 with c1
#include <bits/stdc++.h>
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 function
int 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 c1
import java.io.*;
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.valueOf(arr);
}
  
// Driver code 
public 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 c1
def 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 Code
if __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 c1
using 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


PHP




<?php
// PHP program to replace c1 
// with c2 and c2 with c1
function replace($s, $c1, $c2)
{
    $l = strlen($s);
  
    // loop to traverse
    // in the string
    for ($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
$s = "grrksfoegrrks";
$c1 = 'e'; $c2 = 'r';
echo replace($s, $c1, $c2);
  
// This code is contributed by anuj_67.
?>


Javascript




<script>
// Javascript program to replace c1 with c2
// and c2 with c1
      
    function replace(s,c1,c2)
    {
        let l = s.length;
    let arr = s.split("");
        
    // loop to traverse in the string
    for (let 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 arr.join("");
    }
      
    // Driver code 
    let s = "grrksfoegrrks";
    let c1 = 'e', c2 = 'r';
    document.write(replace(s, c1, c2));
      
    // This code is contributed by rag2127
</script>


Output

geeksforgeeks

Time Complexity: O(n) 
Auxiliary Space: O(1)



Last Updated : 17 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads