17
社区成员
发帖
与我相关
我的任务
分享
给定两个字符串,均只包含英文字母,需区分大小写,一个是源字符串SS(长度<1000),另一个是目标字符串TS(长度<1000),
请问能否通过删除SS中的字符(不改变顺序)将它变换成TS,如果可以输出“YES",不可以则输出“NO"。
输入说明:第一行为源字符串SS,第二行为目标字符串TS。
输出说明:可以输出“YES",不可以输出“NO"。
输入样例1:Thereisacomputer Treat输出样例1:YES
输入样例2:Thereisacomputer Trait输出样例2:NO
public class basic {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String SS = sc.next();
String TS = sc.next();
ArrayList<Character> list=new ArrayList<Character>();
char[] S = SS.toCharArray();
char[] T = TS.toCharArray();
for(int i=0;i<S.length;i++){
list.add(S[i]);
}
//记录目标地址中的指针
int index=0;
for(int i=0;i<list.size();i++){
if (index >= T.length) {
break;
}
if(list.get(i)!=T[index]){
list.remove(i);
i--;
}else{
index++;
}
}
if(list.size()>T.length){
System.out.println("YES");
}else {
System.out.println("NO");
}
}
}