输入一个字符串,判断字符串中最大对称字串的长度

输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。


对整个方法进行分析,如下是分析思路

1.首先,是判断字符串是不是对称字串的方法。
将字符串转换成字符数组。比较对称轴两端是不是相同,如果有不相同元素,那么就返回false
用了array数组的角标,
if(chr[min++]!=chr[max–]) 两端位置逐个比较
2.取字符串的子串,然后逐个判断字串是否是对称的,取出最长的对称字串

package HWday01;

public class HW07 {
    //输入一个字符串,判断字符串中最大对称字串的长度
    public static void main(String[] args) {
        String str="geogle";
        System.out.println("===="+MaxSubStr(str));
    }
    //返回最长对称数组
    public static String MaxSubStr(String str){
        String substr="";  //空字符串
        for(int i=str.length();i>=2;i++){
            for(int j=0;j<i-1;j++){
                String temp=str.substring(j,i);
                if(duiche(temp) && substr.length()<temp.length()){
                    substr=temp;
                }
            }
        }
        return substr;
    }
    //判断对称方法
    public static boolean duiche(String str){
        char[] ch=str.toCharArray();
        int min=0;
        int max=ch.length-1;
        while (min<max){
            if(ch[min]!=ch[max]){
                return false;
            }
            min++;
            max--;
        }
        return true;
    }
}

猜你喜欢

转载自blog.csdn.net/u014651560/article/details/80173230
今日推荐