5. Longest Palindromic Substring

    技术2025-11-17  30

    Longest Palindromic Substring class Solution { public String longestPalindrome(String s) { int n = s.length(); if(n==0) return ""; if(n==1) return s; String sub = s.substring(0,1); int max=1; for(int i=0;i<n;i++){ int step=1; while(i-step>=0 && i+step<=n-1 && s.charAt(i-step)==s.charAt(i+step)){ step++; } step--; if((2*step+1)>max){ max=2*step+1; sub=s.substring(i-step,i+step+1); } if(i<n-1 && s.charAt(i)==s.charAt(i+1)){ step=1; while(i-step>=0 && i+1+step<=n-1 && s.charAt(i-step)==s.charAt(i+1+step)){ step++; } step--; if((2*step+2)>max){ max=2*step+2; sub=s.substring(i-step,i+1+step+1); } } } return sub; } }
    Processed: 0.014, SQL: 9