算法题(二):找出最长对称子串

做法与找出两个字符串的最长公共子串相似。先得到字符串的反转,再利用求最长公共子串的方法来求最长对称子串。

	public static void fun1(String str1) {
		if(str1==null ||str1.length()==0) {
			return;
		}
		String str2 = verse(str1);
		fun2(str1, str2);
	}
	
	public static String verse(String str) {
		String string = "";
		if(str==null ||str.length()==0) {
			return string;
		}
		for(int i=str.length()-1; i>=0; i--) {
			string += str.charAt(i);
		}
		return string;
	}
	
	public static void fun2(String str1, String str2){
	    if(str1 == null || str2 == null || str1.length() == 0 || str2.length() == 0){
	      return;
	    }
	    int len1 = str1.length();
	    int len2 = str2.length();
	    String longest = "";
	    int length = 0;
	    for(int i=0; i length){
	                    length = temp.length();
	                    longest = temp;
	                }
	                
	            }
	        }
	    }
	    System.out.println(length);
	    System.out.println(longest);
	}

输入:"aabbbbcc"

输出:4 bbbb

你可能感兴趣的:(算法,编程练手)