📜  去除元音后打印反向字符串

📅  最后修改于: 2021-05-04 07:48:12             🧑  作者: Mango

给定一个字符串s,反向打印字符串,并从那里有原字符串元音反转字符串中删除的字符。

例子:

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

一个简单的解决方案是先反转字符串,然后遍历反转的字符串并除去元音。

一个有效的解决方案是一次遍历两个任务。
创建一个空字符串r并遍历原始字符串s,并将值分配给字符串r。检查在该索引处原始字符串包含辅音。如果是,则从字符串r在该索引处打印该元素。

以上方法基本实现:

C++
// CPP Program for removing characters
// from reversed string where vowels are
// present in original string
#include 
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
// 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
# 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 conributed by
# sanjeev2552


C#
// 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


输出:

segrfseg