This is a solution for printing the longest Palindormic substring , here it is printing all the subsequence.
s =
“aacabdkacaa”
Use Testcase
Output
“aacabacaa”
class Solution {
int i=-1;
int j=-1;
String finalStr="";
public String longestPalindrome(String s) {
char [] ch= s.toCharArray();
return longestPalindromicDynamic(ch , 0 , s.length()-1);
}
public String longestPalindromicDynamic(char [] ch , int m , int n){
if(m==n) {
return "" + ch [m];
}
if(m>n )
return "";
if(ch[m]==ch[n]){
String pal = longestPalindromicDynamic(ch , m+1 , n-1);
ch [m] +pal + ch [n];
return ch [m] +pal + ch [n];
}else {
String str1= longestPalindromicDynamic(ch , m+1 , n);
String str2= longestPalindromicDynamic(ch , m , n-1);
if (str1.length() > str2.length())
return str1;
else
return str2;
}
}
}