首页 > 其他 > 详细

给定两个字符串,均只包含英文字母,需区分大小写,一个是源字符串SS(长度<1000), 另一个是目标字符串TS(长度<1000),请问能否通过删除SS中的字符(不改变顺序)将它变换成TS,如果可以输出“YES",不可以则输出“NO"。 输入说明:第一行为源字符串SS,第二行为目标字符串TS。

时间:2020-12-17 00:25:05      阅读:134      评论:0      收藏:0      [点我收藏+]

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");
        }
    }
}

给定两个字符串,均只包含英文字母,需区分大小写,一个是源字符串SS(长度<1000), 另一个是目标字符串TS(长度<1000),请问能否通过删除SS中的字符(不改变顺序)将它变换成TS,如果可以输出“YES",不可以则输出“NO"。 输入说明:第一行为源字符串SS,第二行为目标字符串TS。

原文:https://www.cnblogs.com/lanfeng02/p/14147159.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!