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 characters of a given string can be rearranged to form a palindrome
- Check if a string can be rearranged to form special palindrome
- Length of the longest substring that do not contain any palindrome
- Minimum length of the sub-string whose characters can be used to form a palindrome of length K
- Queries to check if substring[L...R] is palindrome or not
- 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 a given string is a rotation of a palindrome
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 Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : AnkitRai01