📌  相关文章
📜  通过忽略任何字符的交替出现来打印字符串

📅  最后修改于: 2022-05-13 01:57:08.872000             🧑  作者: Mango

通过忽略任何字符的交替出现来打印字符串

给定一个同时包含大写和小写字母的字符串,任务是打印字符串,其中交替出现任何丢弃的字符(包括空格并认为大写和小写相同)。
例子:

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