Given two strings, print all the common characters in lexicographical order. If there are no common letters, print -1. All letters are lower case.
Input : string1 : geeks string2 : forgeeks Output : eegks Explanation: The letters that are common between the two strings are e(2 times), k(1 time) and s(1 time). Hence the lexicographical output is "eegks" Input : string1 : hhhhhello string2 : gfghhmh Output : hhh
This problem has existing solution please refer Print common characters of two Strings in alphabetical order link. We will solve this problem in python using intersection property and collections.Counter() module. Approach is simple,
- Convert both strings into dictionary data type using Counter(str) method, which contains characters of string as key and their frequencies as value.
- Now find common elements between two strings using intersection ( a&b ) property.
- Resultant will also be an counter dictionary having common elements as keys and their common frequencies as value.
- Use elements() method of counter dictionary to expand list of keys by their frequency number of times.
- Sort the list and concatenate each character of output list without space to print resultant string.
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Print common characters of two Strings in alphabetical order
- Check if the characters of a given string are in alphabetical order
- Print the frequency of each character in Alphabetical order
- Common characters in n strings
- Count common characters in two strings
- Interleaving of two given strings with no common characters
- Check whether two strings contain same characters in same order
- Print characters and their frequencies in order of occurrence
- Print characters having even frequencies in order of occurrence
- Print characters having odd frequencies in order of occurrence
- Print characters in decreasing order of frequency
- Print all distinct characters of a string in order (3 Methods)
- Print characters having prime frequencies in order of occurrence
- Print characters and their frequencies in order of occurrence using a LinkedHashMap in Java
- Print characters and their frequencies in order of occurrence using Binary Tree
- Print Strings In Reverse Dictionary Order Using Trie
- Print all distinct circular strings of length M in lexicographical order
- Print array of strings in sorted order without copying one string into another
- Sum of the alphabetical values of the characters of a string
- Python - Like Index Common characters
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.