Given a String, We have to find all the palindromic sub-strings from the given string.
Example:-
Input_String =”helloworld”
Output:-[ll, r, d, e, owo, w, h, l, o]
Java Program to find all palindromic substrings of a given string
import java.util.HashSet;
import java.util.Set;
class Main
{
// check in both directions to find all palindromes
public static void checkPalindromes(String Input_string, int first, int last, Set<String> set)
{
while (first >= 0 && last < Input_string.length()
&& Input_string.charAt(first) == Input_string.charAt(last))
{
set.add(Input_string.substring(first, last + 1));
first--;
last++;
}
}
// find all unique palindrome substrings of given string
public static void findallPalindromeSubStrings(String Input_string)
{
// creating one empty set to store all unique palindrome substrings
Set<String> set = new HashSet<>();
for (int j = 0; j < Input_string.length(); j++)
{
checkPalindromes(Input_string, j, j, set);
checkPalindromes(Input_string, j, j + 1, set);
}
// print all unique palindrome substrings
System.out.print(set);
}
public static void main(String[] args)
{
String Input_string = "helloworld";
findallPalindromeSubStrings(Input_string);
}
}
Output:- [ll, r, d, e, owo, w, h, l, o]