Print all permutations of a string keeping the sequence but changing cases.
Input : ab Output : AB Ab ab aB Input : ABC Output : abc Abc aBc ABc abC AbC aBC ABC
Method 1 (Naive) : Naive approach would be to traverse the whole string and for every character, consider two cases, (1) change case and recur (2) Do not change case and recur.
Method 2 (Better) For a string of length n there exists 2n maximum combinations. We can represent this as a bitwise operation.
The same idea is discussed in Print all subsequences.
Below is the implementation of above idea :
abc Abc aBc ABc abC AbC aBC ABC
Asked in : Facebook.
This article is contributed by Rohit Thapliyal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Convert camel case string to snake case in Java
- Convert Snake Case string to Camel Case in Java
- Lower case to upper case - An interesting fact
- Convert the string into palindrome string by changing only one character
- Make the string in AP by changing a character
- String in Switch Case in Java
- Convert characters of a string to opposite case
- Case conversion (Lower to Upper and Vice Versa) of a string using BitWise operators in C/C++
- Toggle case of a string using Bitwise Operators
- Sentence Case of a given Camel cased string
- Extract and print words separately from a given Camel Case string
- Convert vowels into upper case character in a given string
- Make largest palindrome by changing at most K-digits
- Check if a number is power of k using base changing method
- Arrangement of words without changing the relative position of vowel and consonants
- Removing a number from array without changing its arithmetic mean
- Make the list non-decreasing by changing only one digit of the elements
- Find the largest number that can be formed by changing at most K digits
- Minimize the number by changing at most K digits
- Find K such that changing all elements of the Array greater than K to K will make array sum N