10.22 360笔试
题目要求:
串1串2的复制粘贴
判断串1能否通过复制粘贴自身字符(次数无限制),形成串2。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num =sc.nextInt();
sc.nextLine();
for(int i=0;i<num;i++){
int flag=0;
String str1 = sc.nextLine();
String str2 = sc.nextLine();
if(str1.length()>str2.length()){
System.out.println("NO"); //1比2长 false
continue;
}
if(flag==0){
for(int j =0;j<str1.length();j++){
if(str1.charAt(j)!=str2.charAt(j)){
System.out.println("NO"); // 1 2 前缀不一样 false
flag=1;
break;
}
}
}
if(flag==0){
for(int k=str1.length();k<str2.length();k++){
if(!str1.contains(String.valueOf(str2.charAt(k)))){
System.out.println("NO"); //判断串2剩余是否被串1包含
flag=1;
break;
}
}
}
if(flag==0){
System.out.println("YES");
}
}
}
求大佬指正 只AC了16
#笔试#Scanner sc = new Scanner(System.in);
int num =sc.nextInt();
sc.nextLine();
for(int i=0;i<num;i++){
int flag=0;
String str1 = sc.nextLine();
String str2 = sc.nextLine();
if(str1.length()>str2.length()){
System.out.println("NO"); //1比2长 false
continue;
}
if(flag==0){
for(int j =0;j<str1.length();j++){
if(str1.charAt(j)!=str2.charAt(j)){
System.out.println("NO"); // 1 2 前缀不一样 false
flag=1;
break;
}
}
}
if(flag==0){
for(int k=str1.length();k<str2.length();k++){
if(!str1.contains(String.valueOf(str2.charAt(k)))){
System.out.println("NO"); //判断串2剩余是否被串1包含
flag=1;
break;
}
}
}
if(flag==0){
System.out.println("YES");
}
}
}
求大佬指正 只AC了16