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