Given a string, the task is to count all palindrome substring in a given string.
Input : aba Output : 4 Explanation : All palindrome substring are : "aba" , "a" , "b", "a" Input : TENET Output : 7 Explanation : All palindrome sub-string are : "T" , "E" , "N", "E", "T" , "ENE" , "TENET"
Approach:
- Take the substrings from the given string.
- Now check whether the substring is Palindrome or not.
- If the substring is Palindrome increment the count by 1 else if not count is not incremented.
- Return the count as it represents the number of substrings.
- Print and display on the console.
Example:
Java
// Java Program to Find all palindromic sub-strings // of a given string // Importing input output classes import java.io.*; // Main class // To check for palindromic sub-strings public class GFG { // Method 1 // To check for substring public static boolean check(String subS) { int size = subS.length(); // Iterating over string till midway to // check palindromic behavior for ( int i = 0 ; i < size / 2 ; i++) { if (subS.charAt(i) != subS.charAt(size - i - 1 )) { // Non-palindromic behavior return false ; } } // Palindromic behavior return true ; } // Method 2 // Main driver method public static void main(String[] args) { // Custom input string String str = "MALAYALAM" ; int count = 0 ; // Outer loop iterating over input string for ( int i = 0 ; i < str.length(); i++) { // Inner loop iterating from current starting // character of outer loop current starting // character for ( int j = i; j < str.length(); j++) { // Getting the substrings String subString = str.substring(i, j + 1 ); // Checking whether the substring is // palindrome if (check(subString)) { // Increment the count only if // substring is palindrome count++; } } } // Print and display the number of substrings that // are palindromic System.out.println( "No.of palindromic substrings in the given string are " + count); } } |
No.of palindromic substrings in the given string are 15