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

xiaoxiao2021-02-28  73

输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“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; } }
转载请注明原文地址: https://www.6miu.com/read-2626906.html

最新回复(0)