黑马程序员技术交流社区
标题:
一个关于字符串处理的面试题
[打印本页]
作者:
袁梦希
时间:
2012-5-26 13:06
标题:
一个关于字符串处理的面试题
本帖最后由 yuan 于 2012-5-26 13:08 编辑
代码部分:
给定两个字符串,获取两个字符串中最大相同的子串.for(int y=0,z=arr.length=-x; z!=arr.length+1; y++,z++)
*/
public class Exercise2 {
/**
* @param args
*/
public static void main(String[] args) {
String s1 = "Inputabcdefghi";
String s2 = "OutputInput";
String s = getMaxSubstring(s2, s1);
System.out.println("s=" + s);
}
public static String getMaxSubstring(String s1, String s2) {
String max, min;
max = s1.length() > s2.length() ? s1 : s2;
min = max.equals(s1) ? s2 : s1;
System.out.println(max + "::" + min);
for (int x = 0; x < min.length(); x++) {
for (int y = 0, z = min.length() - x; z != min.length() + 1; y++, z++) {
String temp = min.substring(y, z);
// System.out.println(temp);
if (max.contains(temp)){
return temp;
}
}
}
return null;
}
}
复制代码
问题部分:
前面代码输出的结果毫无疑问是Input
当我把声明的字符串为
String s1 = "Inputabcde";
String s2 = "abcdeInput";
问题就来了
如果我的需求是:把两个相同长度的的字符串都能输出出来,
也就是结果为:
Input
abcde
怎么来用代码表现:求高手用代码解决我的问题,感激不尽。
作者:
贠(yun)靖
时间:
2012-5-26 14:02
public static String getStr(String s1,String s2){
String max = "",min = "";
max = (s1.length())>(s2.length())?s1:s2;
min = (max==s1)?s2:s1;
for(int i=0;i<min.length();i++){
for(int j=0,k=min.length()-i;k!=min.length()+1;k++,j++){
String result = min.substring(j, k);
if(max.contains(result)){
System.out.println(result); 把这的return改了就行了 也可以吧result append到 StringBuilder里面 把return null 换成return sb。toString() 就行了
}
}
}
return null;
}
作者:
刘蕴学
时间:
2012-5-26 14:49
老贠的代码没看,看着就蒙
String fu = "Inputabcde";
String zi = "abcdeInput";
int length = zi.length();
int offset = 0;
boolean flag = false;
while(true)
{
CharSequence curr = zi.subSequence(offset, offset+length);
System.out.print(curr + " ");
if(fu.contains(curr))
{
System.out.print("true");
flag = true;
}
else {
System.out.print("false");
}
System.out.println(" " + offset + " " + length+" " +zi.length());
if(offset+length == zi.length() && length > 0)
{
if(flag)
break;
length--;
offset = 0;
}
else {
offset++;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2