Given a string S. The task is to check whether it is possible to rearrange the string such that every substring of odd length is a palindrome.
Input: S = “oiooi”
The string can be rearranged as “oioio”
Input: S = “yuyuo”
- The very first observation is if all the characters of the string are same then every substring of odd length is a palindrome and we do not need to rearrange them.
- Second observation is if the number of distinct characters are more than 2 then it is impossible to rearrange.
- Now if the number of distinct characters are exactly 2 then to get all odd length substring to be a palindrome, the difference of their count must be less than or equal to 1, and if this satisfy then we rearrange the string in alternate manner means for i <— ( 1 to n – 1 ). Where n is the length of the string.
Below is the implementation of above approach:
- Check if a string can be rearranged to form special palindrome
- Check if characters of a given string can be rearranged to form a palindrome
- Length of the longest substring that do not contain any palindrome
- Queries to check if substring[L...R] is palindrome or not
- Minimum length of the sub-string whose characters can be used to form a palindrome of length K
- Find length of longest subsequence of one string which is substring of another string
- Convert to a string that is repetition of a substring of k length
- Maximum length substring with highest frequency in a string
- Maximum even length sub-string that is permutation of a palindrome
- Binary String of given length that without a palindrome of size 3
- Queries to check if string B exists as substring in string A
- Check if a string is substring of another
- Length of the largest substring which have character with frequency greater than or equal to half of the substring
- Python | Check if a Substring is Present in a Given String
- Check if any anagram of a string is palindrome or not
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.