给定一个字符串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