每日一练(力扣)

我的思路是暴力枚举:

情况1:相同,就让子串和原串同时后移继续比较

情况2:不相同,就只让原串后移

java 复制代码
public int strStr(String haystack, String needle) {
        if (haystack.length() < needle.length()){
            return -1;
        }
        for (int i = 0; i <= haystack.length() - needle.length(); i++) {
            int j = 0;
            //要使: i + j 不越界 因为j!=needle.length()  所以i 可以 =  haystack.length() - needle.length()
            while (j < needle.length() && haystack.charAt(i + j) == needle.charAt(j)){
                j++;
            }
            if (j == needle.length()){//最后一个元素也判断完
                return i;
            }
        }
        return -1;
    }
相关推荐
凭君语未可5 分钟前
Java 中的接口是什么
java·开发语言
XiYang-DING6 分钟前
【Java】二叉树
java·开发语言·数据结构
坚持编程的菜鸟6 分钟前
The Blocks Problem
数据结构·c++·算法
2301_822703207 分钟前
Flutter 框架跨平台鸿蒙开发 - 家庭时间胶囊应用
算法·flutter·华为·图形渲染·harmonyos·鸿蒙
tankeven7 分钟前
HJ171 排座椅
c++·算法
2301_8227032014 分钟前
成语小词典:鸿蒙Flutter实现的成语查询与管理应用
算法·flutter·华为·开源·图形渲染·harmonyos
Bczheng115 分钟前
八.账号生成规则 哈希 密钥
算法·哈希算法
凌冰_16 分钟前
Servlet+Thymeleaf + Fetch 实现无刷新异步请求
java·servlet
黎阳之光16 分钟前
视频孪生领航者,以中国技术定义全球数智化新高度
大数据·人工智能·算法·安全·数字孪生
6Hzlia17 分钟前
【Hot 100 刷题计划】 LeetCode 39. 组合总和 | C++ 回溯算法与 startIndex 剪枝
c++·算法·leetcode