33:优美字符串
描述
对于给定的两个字符串,我们将要做的是将它们拼接起来,拼接成一个“优美”的字符串,那么什么样的字符串是优美的呢?举一个例子,我们要求拼接时,第一个字符串ABCE在前,第二个字符串CEDF在后,拼接的结果是ABCECEDF,接着,我们要对这个ABCECEDF进行修饰,要求将它们在连接处相同的子串重叠在一起,重叠之后的结果为ABCEDF,这就是拼接形成的优美的字符串,现在请你完成这个任务。
输入
输入包含两个用空格隔开的字符串s1和s2
输出
输出一个字符串,表示拼接之后的“优美字符串”
样例输入
ABB ABB
样例输出
ABB
代码
import java.util.*;
import java.math.*;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
String a = cin.next();
String b = cin.next();
char[] c = a.toCharArray();
char[] d = b.toCharArray();
int node = a.length();
for(int i = 0; i < a.length(); i++)
{
int k = 0;
if(c[i] == d[k])
{
int j;
for(j = i + 1; j < a.length(); j++)
{
k++;
if(k >= b.length())
break;
if(d[k] != c[j])
break;
}
if(j==a.length())
{
node = i;
break;
}
}
}
for(int i =0; i < node; i++)
System.out.print(c[i]);
System.out.println(b);
}
}