Given a string s, print reverse of string and remove the characters from the reversed string where there are vowels in the original string.
Examples:
Input : geeksforgeeks
Output : segrfseg
Explanation :
Reversed string is skeegrofskeeg, removing characters
from indexes 1, 2, 6, 9 & 10 (0 based indexing),
we get segrfseg .
Input :duck
Output :kud
A simple solution is to first reverse the string, then traverse the reversed string and remove vowels.
#include <iostream> #include <string> using namespace std;
// Function to reverse a string string reverseString(string s) { string reversed;
// Iterate over the original string in reverse order
for ( int i = s.length() - 1; i >= 0; i--) {
// Append each character to a new string
reversed += s[i];
}
// Return the reversed string
return reversed;
} // Function to remove vowels from a string string removeVowels(string s,string reversed) { string withoutVowels;
// Iterate over the string
for ( int i = 0; i < s.length(); i++) {
char c = s[i];
// Check if the character is a vowel in original string
if (c != 'a' && c != 'e' && c != 'i' && c != 'o' && c != 'u' && c != 'A' && c != 'E' && c != 'I' && c != 'O' && c != 'U' ) {
// If not, append the reversed string character to a new string
withoutVowels += reversed[i];
}
}
// Return the string without vowels
return withoutVowels;
} int main() {
string s = "geeksforgeeks" ;
// Reverse the original string
string reversed = reverseString(s);
// Remove vowels from the reversed string
string withoutVowels = removeVowels(s,reversed);
// Print the resulting string without vowels
cout << withoutVowels << endl;
return 0;
} // This code is contributed by Utkarsh. |
public class Main {
public static void main(String[] args) {
String s = "geeksforgeeks" ;
// Reverse the original string
String reversed = reverseString(s);
// Remove vowels from the reversed string
String withoutVowels = removeVowels(s, reversed);
// Print the resulting string without vowels
System.out.println(withoutVowels);
}
// Function to reverse a string
public static String reverseString(String s) {
String reversed = "" ;
// Iterate over the original string in reverse order
for ( int i = s.length() - 1 ; i >= 0 ; i--) {
// Append each character to a new string
reversed += s.charAt(i);
}
// Return the reversed string
return reversed;
}
// Function to remove vowels from a string
public static String removeVowels(String s, String reversed) {
String withoutVowels = "" ;
// Iterate over the string
for ( int i = 0 ; i < s.length(); i++) {
char c = s.charAt(i);
// Check if the character is a vowel in original string
if (c != 'a' && c != 'e' && c != 'i' && c != 'o' && c != 'u' && c != 'A' && c != 'E' && c != 'I' && c != 'O' && c != 'U' ) {
// If not, append the reversed string character to a new string
withoutVowels += reversed.charAt(i);
}
}
// Return the string without vowels
return withoutVowels;
}
} //This Code is written by Sundaram. |
def reverseString(s):
reversed_string = ""
# Iterate over the original string in reverse order
for i in range ( len (s) - 1 , - 1 , - 1 ):
# Append each character to a new string
reversed_string + = s[i]
# Return the reversed string
return reversed_string
def removeVowels(s, reversed_string):
withoutVowels = ""
# Iterate over the string
for i in range ( len (s)):
c = s[i]
# Check if the character is a vowel in original string
if c not in [ 'a' , 'e' , 'i' , 'o' , 'u' , 'A' , 'E' , 'I' , 'O' , 'U' ]:
# If not, append the reversed string character to a new string
withoutVowels + = reversed_string[i]
# Return the string without vowels
return withoutVowels
if __name__ = = "__main__" :
s = "geeksforgeeks"
# Reverse the original string
reversed_string = reverseString(s)
# Remove vowels from the reversed string
withoutVowels = removeVowels(s, reversed_string)
# Print the resulting string without vowels
print (withoutVowels)
|
using System;
namespace ConsoleApp1 {
class Program {
// Function to reverse a string
static string ReverseString( string s)
{
string reversed = "" ;
// Iterate over the original string in reverse order
for ( int i = s.Length - 1; i >= 0; i--) {
// Append each character to a new string
reversed += s[i];
}
// Return the reversed string
return reversed;
}
// Function to remove vowels from a string
static string RemoveVowels( string s, string reversed)
{
string withoutVowels = "" ;
// Iterate over the string
for ( int i = 0; i < s.Length; i++) {
char c = s[i];
// Check if the character is a vowel in original
// string
if (c != 'a' && c != 'e' && c != 'i' && c != 'o'
&& c != 'u' && c != 'A' && c != 'E'
&& c != 'I' && c != 'O' && c != 'U' ) {
// If not, append the reversed string
// character to a new string
withoutVowels += reversed[i];
}
}
// Return the string without vowels
return withoutVowels;
}
static void Main( string [] args)
{
string s = "geeksforgeeks" ;
// Reverse the original string
string reversed = ReverseString(s);
// Remove vowels from the reversed string
string withoutVowels = RemoveVowels(s, reversed);
// Print the resulting string without vowels
Console.WriteLine(withoutVowels);
}
} } // This code is contributed by user_dtewbxkn77n |
function reverseString(s) {
let reversed = "" ;
// Iterate over the original string in reverse order
for (let i = s.length - 1; i >= 0; i--) {
// Append each character to a new string
reversed += s[i];
}
// Return the reversed string
return reversed;
} function removeVowels(s, reversed) {
let withoutVowels = "" ;
// Iterate over the string
for (let i = 0; i < s.length; i++) {
let c = s[i];
// Check if the character is a vowel in original string
if (c != 'a' && c != 'e' && c != 'i' && c != 'o' && c != 'u' && c != 'A' && c != 'E' && c != 'I' && c != 'O' && c != 'U' ) {
// If not, append the reversed string character to a new string
withoutVowels += reversed[i];
}
}
// Return the string without vowels
return withoutVowels;
} let s = "geeksforgeeks" ;
// Reverse the original string let reversed = reverseString(s); // Remove vowels from the reversed string let withoutVowels = removeVowels(s, reversed); // Print the resulting string without vowels console.log(withoutVowels); |
segrfseg
Time complexity : O(n)
Auxiliary Space : O(n)
An efficient solution is to do both tasks in one traversal.
Create an empty string r and traverse the original string s and assign the value to the string r. Check whether, at that index, the original string contains a consonant or not. If yes then print the element at that index from string r.
Basic implementation of the above approach :
// CPP Program for removing characters // from reversed string where vowels are // present in original string #include <bits/stdc++.h> using namespace std;
// Function for replacing the string void replaceOriginal(string s, int n)
{ // initialize a string of length n
string r(n, ' ' );
// Traverse through all characters of string
for ( int i = 0; i < n; i++) {
// assign the value to string r
// from last index of string s
r[i] = s[n - 1 - i];
// if s[i] is a consonant then
// print r[i]
if (s[i] != 'a' && s[i] != 'e' && s[i] != 'i'
&& s[i] != 'o' && s[i] != 'u' ) {
cout << r[i];
}
}
cout << endl;
} // Driver function int main()
{ string s = "geeksforgeeks" ;
int n = s.length();
replaceOriginal(s, n);
return 0;
} |
// Java Program for removing characters // from reversed string where vowels are // present in original string class GFG {
// Function for replacing the string static void replaceOriginal(String s, int n) {
// initialize a string of length n
char r[] = new char [n];
// Traverse through all characters of string
for ( int i = 0 ; i < n; i++) {
// assign the value to string r
// from last index of string s
r[i] = s.charAt(n - 1 - i);
// if s[i] is a consonant then
// print r[i]
if (s.charAt(i) != 'a' && s.charAt(i) != 'e' && s.charAt(i) != 'i'
&& s.charAt(i) != 'o' && s.charAt(i) != 'u' ) {
System.out.print(r[i]);
}
}
System.out.println( "" );
}
// Driver function public static void main(String[] args) {
String s = "geeksforgeeks" ;
int n = s.length();
replaceOriginal(s, n);
}
} // This code is contributed by princiRaj1992 |
# Python3 Program for removing characters # from reversed string where vowels are # present in original string # Function for replacing the string def replaceOriginal(s, n):
# initialize a string of length n
r = [ ' ' ] * n
# Traverse through all characters of string
for i in range (n):
# assign the value to string r
# from last index of string s
r[i] = s[n - 1 - i]
# if s[i] is a consonant then
# print r[i]
if (s[i] ! = 'a' and s[i] ! = 'e' and
s[i] ! = 'i' and s[i] ! = 'o' and
s[i] ! = 'u' ):
print (r[i], end = "")
print ()
# Driver Code if __name__ = = "__main__" :
s = "geeksforgeeks"
n = len (s)
replaceOriginal(s, n)
# This code is contributed by # sanjeev2552 |
// C# Program for removing characters // from reversed string where vowels are // present in original string using System;
class GFG
{ // Function for replacing the string
static void replaceOriginal(String s, int n)
{
// initialize a string of length n
char []r = new char [n];
// Traverse through all characters of string
for ( int i = 0; i < n; i++)
{
// assign the value to string r
// from last index of string s
r[i] = s[n - 1 - i];
// if s[i] is a consonant then
// print r[i]
if (s[i] != 'a' && s[i] != 'e' && s[i] != 'i'
&& s[i] != 'o' && s[i] != 'u' )
{
Console.Write(r[i]);
}
}
Console.WriteLine( "" );
}
// Driver code
public static void Main(String[] args)
{
String s = "geeksforgeeks" ;
int n = s.Length;
replaceOriginal(s, n);
}
} // This code is contributed by Rajput-JI |
<script> // JavaScript Program for removing characters // from reversed string where vowels are // present in original string // Function for replacing the string function replaceOriginal(s, n)
{ // initialize a string of length n
var r = new Array(n);
// Traverse through all characters of string
for ( var i = 0; i < n; i++) {
// assign the value to string r
// from last index of string s
r[i] = s.charAt(n - 1 - i);
// if s[i] is a consonant then
// print r[i]
if (s.charAt(i) != 'a' && s.charAt(i) != 'e' && s.charAt(i) != 'i'
&& s.charAt(i) != 'o' && s.charAt(i) != 'u' ) {
document.write(r[i]);
}
}
document.write( "" );
}
// Driver function var s = "geeksforgeeks" ;
var n = s.length;
replaceOriginal(s, n); // This code is contributed by shivanisinghss2110 </script> |
segrfseg
Complexity Analysis:
- Time complexity : O(n)
- Auxiliary Space : O(n)
Approach:
In this approach, we will iterate through each character of the string, and if the character is not a vowel, we will append it to a new string. Finally, we will reverse the new string and return it as the output.
Steps:
- Create an empty string called “new_string”.
- Iterate through each character of the input string.
- If the character is not a vowel, append it to “new_string”.
- Reverse the “new_string” using string slicing.
- Return the reversed string as the output.
#include <iostream> #include <string> #include<bits/stdc++.h> // Function to reverse a string without vowels std::string reverseStringWithoutVowels( const std::string& inputString) {
// Define vowels
std::string vowels = "AEIOUaeiou" ;
// Initialize an empty string to store the result
std::string newString = "" ;
// Iterate through each character in the input string
for ( char ch : inputString) {
// Check if the character is not a vowel
if (vowels.find(ch) == std::string::npos) {
// Append the character to the new string
newString += ch;
}
}
// Reverse the new string
std::reverse(newString.begin(), newString.end());
// Return the reversed string without vowels
return newString;
} int main() {
// Test the function
std::string inputString = "geeksforgeeks" ;
std::string outputString = reverseStringWithoutVowels(inputString);
std::cout << outputString << std::endl;
return 0;
} // This code is contributed by shivamgupta0987654321 |
import java.util.Scanner;
public class ReverseStringWithoutVowels {
// Function to reverse a string without vowels
static String reverseStringWithoutVowels(String inputString) {
// Define vowels
String vowels = "AEIOUaeiou" ;
// Initialize a StringBuilder to store the result
StringBuilder newString = new StringBuilder();
// Iterate through each character in the input string
for ( char ch : inputString.toCharArray()) {
// Check if the character is not a vowel
if (vowels.indexOf(ch) == - 1 ) {
// Append the character to the StringBuilder
newString.append(ch);
}
}
// Reverse the StringBuilder
newString.reverse();
// Return the reversed string without vowels
return newString.toString();
}
public static void main(String[] args) {
// Test the function
String inputString = "geeksforgeeks" ;
String outputString = reverseStringWithoutVowels(inputString);
System.out.println(outputString);
}
} |
def reverse_string_without_vowels(input_string):
vowels = "AEIOUaeiou"
new_string = ""
for char in input_string:
if char not in vowels:
new_string + = char
return new_string[:: - 1 ]
# Test the function input_string = "geeksforgeeks"
output_string = reverse_string_without_vowels(input_string)
print (output_string)
|
using System;
class Program
{ // Function to reverse a string after removing vowels
static string ReverseStringWithoutVowels( string inputString)
{
// Define a string containing all the vowels in uppercase and lowercase
string vowels = "AEIOUaeiou" ;
// Initialize a string to store the characters without vowels
string newString = "" ;
// Iterate through each character in the input string
foreach ( char c in inputString)
{
// Check if the character is not a vowel
if (vowels.IndexOf(c) == -1)
{
// If it's not a vowel, add it to the new string
newString += c;
}
}
// Convert the new string to a character array
char [] charArray = newString.ToCharArray();
// Reverse the character array
Array.Reverse(charArray);
// Convert the reversed character array back to a string
return new string (charArray);
}
static void Main()
{
// Test the ReverseStringWithoutVowels function
string inputString = "geeksforgeeks" ;
string outputString = ReverseStringWithoutVowels(inputString);
// Print the reversed string without vowels
Console.WriteLine(outputString);
}
} |
function reverseStringWithoutVowels(inputString) {
const vowels = "AEIOUaeiou" ;
let newString = "" ;
for (let i = inputString.length - 1; i >= 0; i--) {
if (!vowels.includes(inputString[i])) {
newString += inputString[i];
}
}
return newString;
} // Test the function const inputString = "geeksforgeeks" ;
const outputString = reverseStringWithoutVowels(inputString); console.log(outputString); |
skgrfskg
Time Complexity: The time complexity of this approach is O(n), where n is the length of the input string.
Auxiliary Space: The auxiliary space used in this approach is O(n), where n is the length of the input string.