A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周发建 中级黑马   /  2016-3-22 09:46  /  381 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

(三)练习3:两个字符串中最大相同串
//--3. 两个字符串中最大相同子串
file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml/wpsF547.tmp.jpg
/**
* "qwerabcdtyuiop"
* "xcabcdvbn"
* 1. 既然是取最大子串,先看短的那个字符串是否在长的那个字符串中
*         如果存在,短的那个字符串就是最大子串
* 2. 如果不是,那么就将短的那个子串进行长度递减的方式取子串,再去长串中判断是否存在
*         如果存在就找到了,
*/
public static String getMaxString(String str1, String str2){
if(str1!=null && str2 !=null){
//获取大小串
String maxstr = str1.length()>str2.length()?str1:str2;
String minstr = str1.length()<str2.length()?str1:str2;
//用小串在大串中循环找
String okstr = minstr;
for(int i=0;i<minstr.length();i++){
for(int j=0,k=minstr.length()-i;k<minstr.length()+1;j++,k++){
if(maxstr.contains(okstr)){
return okstr;
}
okstr = minstr.substring(j,k);
}
}
return okstr;
}
return "";
}
(四)练习4去除字符串两端空白
//--4. 去除字符串两端空白
public static String myTrim(String str){
int start = 0;
int end = str.length();
while(start<=end && str.charAt(start)== ' '){
start++;
}
while(start<=end && str.charAt(end-1) == ' '){
end--;
}
return str.substring(start,end);
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马