字符串子串(可以不连续)

藏宝图

http://www.nowcoder.com/questionTerminal/74475ee28edb497c8aa4f8c370f08c30

s与t的指针从0开始往右遍历一趟,相等就都下移一位,不等就仅s的指针下移一位:

import java.util.*;
public class Main {
    public static void main(String[] args) throws Exception{
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine(), t = sc.nextLine();
        int i = 0, j = 0;
        while(i < s.length()){
            if(j >= t.length()) break;
            if(s.charAt(i) == t.charAt(j)) {
                if(j == t.length() - 1){
                    System.out.println("Yes");
                    return;
                }
                i++; j++;
            }
            else i++;
        }
        System.out.println("No");
    }
}
全部评论
不对吧,如果s中的字符已经跳过了,但是t中的字符才随后出现,例如s = "ffieo", t = "ifo",判断完t中的i时f已经跳过
点赞 回复 分享
发布于 2021-02-09 22:45
未考虑子串为空串情况(菜鸡质疑)
点赞 回复 分享
发布于 2020-08-10 22:09

相关推荐

双非阴暗爬行:我来看看笑死我了,这名字取得好想笑(没有不好的意思)
点赞 评论 收藏
分享
群星之怒:不是哥们,你就不好奇瘫痪三十年的老植物人是啥样的吗?
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务