给定两个字符串,均只包含英文字母,需区分大小写,一个是源字符串SS(长度<1000), 另一个是目标字符串TS(长度<1000),请问能否通过删除SS中的字符(不改变顺序)将它变换成TS,如果可以输出“YES",不可以则输出“NO"。 输入说明:第一行为源字符串SS,第二行为目标字符串TS。
import java.util.Scanner;
/*
给定两个字符串,均只包含英文字母,需区分大小写,一个是源字符串SS(长度<1000),
另一个是目标字符串TS(长度<1000),请问能否通过删除SS中的字符(不改变顺序)将它变换成TS,如果可以输出“YES",不可以则输出“NO"。
输入说明:第一行为源字符串SS,第二行为目标字符串TS。
输出说明:可以输出“YES",不可以输出“NO"。
输入样例1:Thereisacomputer Treat
输出样例1:YES
输入样例2:Thereisacomputer Trait
输出样例2:NO
*/
public class StringCompare {
public static void main(String []args){
Scanner scanner = new Scanner(System.in);
String ss = scanner.nextLine();
String ts = scanner.nextLine();
int j = 0;
for (int i = 0; i < ss.length(); i++){
if (j == ts.length()){//防止下标溢出所以采用这种方式来,也能在查到时及时停止,减少算法
System.out.println("YES");
break;
}
if (ss.charAt(i) == ts.charAt(j)){
j++;
continue;
}
}
if (j != ts.length()) {//
System.out.println("NO");
}
}
}