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 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;
}
// 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 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 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# 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 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.
?>
<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)