最长回文子串

image

这是一个最有效的便于理解的暴力解题思路,注意substring是包含前面不包含后面的截取

 public int getLongestPalindrome(String A, int n) {
        // write code here
		//设定初始最长回文长度为0
        int max = 0;
        for(int i=0;i<n;i++){
            for(int j=i+1;j<=n;j++){
			//截取字符串
                String str = A.substring(i,j);
               //判断是不是回文串,并且判断是不是最长的 
                if(isPalindrome(str)&&str.length()>max){
                        max=str.length();
                }
            }
        }
        
        return max;
        
    }
    
	//判断一个字符串是不是回文字符串
    public static boolean isPalindrome(String s){
        for(int i=0;i<s.length()/2;i++){
            if(s.charAt(i)!=s.charAt(s.length()-1-i)){
                return false;
            }
        }
        return true;
    }
posted @ 2021-04-14 17:23  Diamond-fz  阅读(60)  评论(0编辑  收藏  举报