获取最长对称串的长度

题目描述:

输入一个字符串,输出该字符串中对称的子字符串的最大长度,比如输入字符串“12213”,由于该
字符串里最长的对称子字符串是“1221”,因此输出为4.
输入描述:
连续的字符串,字符串长度不超过64,只包含数字和字母
输出描述:
最长的对称字符串长度
示例1:
输入
12321abc
输出

5

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

//获取最长对称串的长度
public class Try1 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        char []ar=s.toCharArray();
        int max=1;
        int temp;
        for(int i=0;i             temp=solve(ar,i);
            if(max         }
        System.out.println(max);
        
    }
    public static int solve(char []ar,int x){
        
        int max=1;
        for(int i=x+1;i             if(isVaild(ar,x,i)){
            if(max             }
        }
        return max;
    }
    
    public static boolean isVaild(char ar[],int x,int y){
        int size=y-x+1;
        
        for(int i=x;i             if(ar[i]!=ar[y-i+x]) return false;
        }
        return true;
    }
}
 

你可能感兴趣的:(java)