[遇见时光]内推笔试-藏宝图-java实现

牛牛拿到了一个藏宝图,顺着藏宝图的指示,牛牛发现了一个藏宝盒,藏宝盒上有一个机关,机关每次会显示两个字符串 s 和 t,根据古老的传说,牛牛需要每次都回答 t 是否是 s 的子序列。注意,子序列不要求在原字符串中是连续的,例如串 abc,它的子序列就有 {空串, a, b, c, ab, ac, bc, abc} 8 种。

输入描述:
每个输入包含一个测试用例。每个测试用例包含两行长度不超过 10 的不包含空格的可见 ASCII 字符串。


输出描述:
输出一行 “Yes” 或者 “No” 表示结果。
输入例子:
x.nowcoder.com
ooo
输出例子:
Yes

下面java代码在牛客网上AC通过,我也因此拿到了网易面试通知;然而不复习的人不可能过面试!!!
 1 import java.util.Scanner;
 2 public class Main {
 3     public static String isSubString(String S,String T ){
 4         String SS=S;
 5         String TT=T;
 6         if (S.length()<T.length()||T.length()<0||T.equals(null)||S.length()>10||T.length()>10) {
 7             return "No";
 8         }
 9         
10         int i=0;
11         for(;i<TT.length();i++){
12             char c= TT.charAt(i);
13             int l = SS.indexOf(String.valueOf(c));
14 //            System.out.println(l);
15             if (l>=0&&l<S.length()) {
16                 SS = SS.substring(l+1);
17             }else{
18                 return "No";
19             }
20         }
21         if (i ==T.length()&&SS.length()>=0) {
22             return "Yes";
23         }else {
24             return "No";
25         }
26     }
27 
28     public static void main(String[] args) {
29         // TODO Auto-generated method stub
30         Scanner in = new Scanner(System.in);
31         String Str = in.nextLine();
32         String t = in.nextLine();
33         System.out.println(isSubString(Str, t));
34 //        System.out.println(isSubString("jkk", ""));
35 //        System.out.println(isSubString("", "o"));
36 //        System.out.println(isSubString("sb", "s"));
37 //        System.out.println(isSubString("sb", "bb"));
38 //        System.out.println(isSubString("xxxsbbbbbb", "ssb"));
39 //        System.out.println(isSubString("xxxsbbbbbb", "xb"));
40 //        System.out.println(isSubString("xxxmmmsbb0", "xmb0"));
41 //        System.out.println(isSubString("xxx", "xxxx"));
42     }
43 
44 }
原文地址:https://www.cnblogs.com/yujianshiguang/p/5833054.html