Longest Palindromic Substring

This program finds longest palindromic substring.

Problem Statement

Write a Java program to find longest palindromic substring in a given string.

Source Code

1 public class LongestPalindromicSubstring {
2 public static void main(String[] args) {
3 System.out.println("Eduinq Longest Palindromic Substring");
4 String str="babad";
5 String longest="";
6 for(int i=0;i<str.length();i++){
7 for(int j=i+1;j<=str.length();j++){
8 String sub=str.substring(i,j);
9 String rev=new StringBuilder(sub).reverse().toString();
10 if(sub.equals(rev) && sub.length()>longest.length()){
11 longest=sub;
12 }
13 }
14 }
15 System.out.println("Longest palindromic substring: "+longest);
16 }
17 }

Program Output

Eduinq Longest Palindromic Substring
Longest palindromic substring: bab

Explanation

Nested loops generate every possible substring, each is checked for being a palindrome by comparing it with its reverse, and the longest one found so far is retained, demonstrating brute-force palindromic substring detection.

Quick Links to Explore