Longest Palindromic Substring solution by using dp
    class Solution {
      public:
     string longestPalindrome(string s) {

 int n=s.size(); 
    vector<vector<bool>> dp(n,vector<bool>(n,false));
    int len=0,row=0,col=0,maxi=0;
 for(int k=0;k<n;k++){
     for(int i=0,j=k;j<n;i++,j++){
         if(k==0){
             dp[i][j]=true;
         }
         else if(k==1){
             if(s[i]==s[j]) dp[i][j]=true;
             else dp[i][j]=false;
         }
         else{
             if(s[i]==s[j] && dp[i+1][j-1]==true){
                 dp[i][j]=true;
             }
             else{
                 dp[i][j]=false;
             }
         }
     
    
           if(dp[i][j]){
               len=k+1;
              if(len>maxi){
                  
               maxi=len;
               row=i;
               col=j;
              } 
              
           }
   }
 }
  return s.substr(row,col-row+1);  
}

};


Comments (0)