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

藏宝图

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

相关推荐

05-12 13:14
已编辑
中山大学 算法工程师
点赞 评论 收藏
分享
练习JAVA时长两年半:qps 30000
点赞 评论 收藏
分享
抱抱碍事梨a:三点建议,第一点是建议再做一个项目,把自我介绍部分顶了,第二点是中南大学加黑加粗,第三点是建议加v详细交流
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务