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

藏宝图

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");
    }
}
全部评论
未考虑子串为空串情况(菜鸡质疑)
点赞
送花
回复
分享
发布于 2020-08-10 22:09
不对吧,如果s中的字符已经跳过了,但是t中的字符才随后出现,例如s = "ffieo", t = "ifo",判断完t中的i时f已经跳过
点赞
送花
回复
分享
发布于 2021-02-09 22:45
秋招专场
校招火热招聘中
官网直投

相关推荐

投递字节跳动等公司10个岗位
点赞 评论 收藏
转发
3 收藏 评论
分享
牛客网
牛客企业服务