通过忽略任何字符的交替出现来打印字符串
给定一个同时包含大写和小写字母的字符串,任务是打印字符串,其中交替出现任何丢弃的字符(包括空格并认为大写和小写相同)。
例子:
Input : It is a long day Dear.
Output : It sa longdy ear.
Print first I and then ignore next i.
Similarly print first space then
ignore next space.
Input : Geeks for geeks
Output : Geks fore
提问:微软
由于我们必须以另一种方式打印字符,因此开始遍历字符串并执行以下两个步骤:-
- 增加哈希表中当前字符的出现次数。
- 检查计数是否变为奇数,然后打印当前字符,否则不打印。
C++
// C++ program to print the string in given pattern
#include
using namespace std;
// Function to print the string
void printStringAlternate(string str)
{
unordered_map occ;
// Start traversing the string
for (int i = 0; i < str.length(); i++) {
// Convert uppercase to lowercase
char temp = tolower(str[i]);
// Increment occurrence count
occ[temp]++;
// If count is odd then print the character
if (occ[temp] & 1)
cout << str[i];
}
cout << endl;
}
// Drivers code
int main()
{
string str = "Geeks for geeks";
string str2 = "It is a long day Dear";
printStringAlternate(str);
printStringAlternate(str2);
return 0;
}
Java
// Java program to print the string in given pattern
import java.io.*;
class GFG
{
// Function to print the string
static void printStringAlternate(String str)
{
int[] occ = new int[122];
// Convert uppercase to lowercase
String s = str.toLowerCase();
// Start traversing the string
for (int i = 0; i < str.length(); i++)
{
char temp = s.charAt(i);
// Increment occurrence count
occ[temp]++;
// If count is odd then print the character
if (occ[temp]%2 != 0)
System.out.print(str.charAt(i));
}
System.out.println();
}
// driver program
public static void main (String[] args)
{
String str1 = "Geeks for geeks";
String str2 = "It is a long day Dear";
printStringAlternate(str1);
printStringAlternate(str2);
}
}
// Contributed by Pramod Kumar
Python3
# Python3 program to print the string
# in given pattern
# Function to print the string
def printStringAlternate(string):
occ = {}
# Start traversing the string
for i in range(0, len(string)):
# Convert uppercase to lowercase
temp = string[i].lower()
# Increment occurrence count
occ[temp] = occ.get(temp, 0) + 1
# If count is odd then print the character
if occ[temp] & 1:
print(string[i], end = "")
print()
# Driver code
if __name__ == "__main__":
string = "Geeks for geeks"
string2 = "It is a long day Dear"
printStringAlternate(string)
printStringAlternate(string2)
# This code is contributed by Rituraj Jain
C#
// C# program to print the
// string in given pattern
using System;
public class GFG {
// Function to print the string
static void printStringAlternate(String str)
{
int[] occ = new int[122];
// Convert uppercase to lowercase
string s = str.ToLower();
// Start traversing the string
for (int i = 0; i < str.Length; i++)
{
char temp = s[i];
// Increment occurrence count
occ[temp]++;
// If count is odd then print
// the character
if (occ[temp] % 2 != 0)
Console.Write(str[i]);
}
Console.WriteLine();
}
// Driver Code
public static void Main ()
{
string str1 = "Geeks for geeks";
string str2 = "It is a long day Dear";
printStringAlternate(str1);
printStringAlternate(str2);
}
}
// This code is contributed by Sam007.
PHP
Javascript
输出:
Geks fore
It sa longdy ear