优美字符串(字符串拼接|java String::endsWith的用法)

优美字符串 描述

对于给定的两个字符串,我们将要做的是将它们拼接起来,拼接成一个“优美”的字符串,那么什么样的字符串是优美的呢?举一个例子,我们要求拼接时,第一个字符串ABCE在前,第二个字符串CEDF在后,拼接的结果是ABCECEDF,接着,我们要对这个ABCECEDF进行修饰,要求将它们在连接处相同的子串重叠在一起,重叠之后的结果为ABCEDF,这就是拼接形成的优美的字符串,现在请你完成这个任务。

输入输入包含两个用空格隔开的字符串s1和s2输出输出一个字符串,表示拼接之后的“优美字符串”样例输入

ABB ABB

样例输出

ABB

提示s1和s2的长度 1≤L≤1000

import java.util.Scanner;
public class Main{
  public static void main(String[] args) {
    Scanner cin=new Scanner(System.in);
    String str1=cin.next(),str2=cin.next();
    int len=str2.length();
    for(;len>0;len--) {
      if(str1.endsWith(str2.substring(0,len))) {
        break;
      }
    }
    System.out.println(str1+str2.substring(len));
    
  }
}

 

Codeforces-1029A Many Equal Substrings

You are given a string t consisting of n lowercase Latin letters and an integer number k.Let’s define a substring of some string  with indices from  to r as .
Your task is to construct such string s of minimum possible length that there are exactly k positions i such that . In other words, your task is to construct such string s of minimum possible length that there are exactly k substrings of s equal to .It is guaranteed that the answer is always unique.

继续阅读Codeforces-1029A Many Equal Substrings