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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char * replace( char s[40],
char c1, char c2)
{
int l = strlen (s);
for ( int i = 0; i < l; i++)
{
if (s[i] == c1)
s[i] = c2;
else if (s[i] == c2)
s[i] = c1;
}
return s;
}
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++
#include <bits/stdc++.h>
using namespace std;
string replace(string s, char c1, char c2)
{
int l = s.length();
for ( int i = 0; i < l; i++) {
if (s[i] == c1)
s[i] = c2;
else if (s[i] == c2)
s[i] = c1;
}
return s;
}
int main()
{
string s = "grrksfoegrrks" ;
char c1 = 'e' , c2 = 'r' ;
cout << replace(s, c1, c2);
return 0;
}
|
Java
import java.io.*;
public class GFG
{
static String replace(String s,
char c1, char c2)
{
int l = s.length();
char []arr = s.toCharArray();
for ( int i = 0 ; i < l; i++)
{
if (arr[i] == c1)
arr[i] = c2;
else if (arr[i] == c2)
arr[i] = c1;
}
return String.valueOf(arr);
}
public static void main(String []args)
{
String s = "grrksfoegrrks" ;
char c1 = 'e' , c2 = 'r' ;
System.out.println(replace(s, c1, c2));
}
}
|
Python3
def replace(s, c1, c2):
l = len (s)
for i in range (l):
if (s[i] = = c1):
s = s[ 0 :i] + c2 + s[i + 1 :]
elif (s[i] = = c2):
s = s[ 0 :i] + c1 + s[i + 1 :]
return s
if __name__ = = '__main__' :
s = "grrksfoegrrks"
c1 = 'e'
c2 = 'r'
print (replace(s, c1, c2))
|
C#
using System;
public class GFG{
static String replace(String s,
char c1, char c2)
{
int l = s.Length;
char []arr = s.ToCharArray();
for ( int i = 0; i < l; i++)
{
if (arr[i] == c1)
arr[i] = c2;
else if (arr[i] == c2)
arr[i] = c1;
}
return string .Join( "" , arr);
}
public static void Main()
{
String s = "grrksfoegrrks" ;
char c1 = 'e' , c2 = 'r' ;
Console.WriteLine(replace(s, c1, c2));
}
}
|
PHP
<?php
function replace( $s , $c1 , $c2 )
{
$l = strlen ( $s );
for ( $i = 0; $i < $l ; $i ++)
{
if ( $s [ $i ] == $c1 )
$s [ $i ] = $c2 ;
else if ( $s [ $i ] == $c2 )
$s [ $i ] = $c1 ;
}
return $s ;
}
$s = "grrksfoegrrks" ;
$c1 = 'e' ; $c2 = 'r' ;
echo replace( $s , $c1 , $c2 );
?>
|
Javascript
<script>
function replace(s,c1,c2)
{
let l = s.length;
let arr = s.split( "" );
for (let i = 0; i < l; i++)
{
if (arr[i] == c1)
arr[i] = c2;
else if (arr[i] == c2)
arr[i] = c1;
}
return arr.join( "" );
}
let s = "grrksfoegrrks" ;
let c1 = 'e' , c2 = 'r' ;
document.write(replace(s, c1, c2));
</script>
|
Time Complexity: O(n)
Auxiliary Space: O(1)