import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
public class LargestPalindrome{
static ArrayList<String> palinList=new ArrayList<String>();
public static void splitString(){
String actualString="ABCBAHELLOHOWRACECARAREYOUILOVEUEVOLIIAMAIDOINGGOOD";
for(int i=0 ; i<actualString.length() ; i++){
for(int j=i ; j<actualString.length() ; j++){
findPalindrome(actualString.substring(i,j));
}
}
}
public static void findPalindrome(String actualStr){
String reversedStr="";
//int palindromeCount=0;
for(int i=actualStr.length()-1 ; i>=0 ; i--){
reversedStr+=actualStr.charAt(i);
}
if(actualStr.equals(reversedStr)&&actualStr.length()>=3){
//System.out.println(actualStr);
palinList.add(actualStr);
}
}
public static String largestPalindromeCheck(ArrayList<String> palList){
int maxLength=palList.get(0).length();
int index=0;
for(int i=1 ; i<palList.size() ; i++){
if(palList.get(i).length()>maxLength){
maxLength=palList.get(i).length();
index=i;
}
}
return palList.get(index);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
splitString();
//System.out.println(palinList);
System.out.println(largestPalindromeCheck(palinList));
}
}
Kindly review the program.PleasePlease review the code and provide feedback on best practices and code optimization.