每日一练(力扣)

我的思路是暴力枚举:

情况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;
    }
相关推荐
代码地平线1 分钟前
C++类与对象(中):默认成员函数与日期类实战
c++·笔记·算法
hansang_IR5 分钟前
【题解】可持久化区间仿射区间和(Persistent Range Affine Range Sum)
c++·算法·线段树
XWalnut10 分钟前
LeetCode刷题 day37
java·数据结构·算法·leetcode
huaweichenai13 分钟前
使用maven搭建sprint-boot
java·maven·sprint
zerozrc019 分钟前
Java 方法调用的底层原理
java·后端
Smilecoc20 分钟前
方向导数与梯度
算法
星火102427 分钟前
【LangChain4j系列01】LangChain4j 快速入门与核心概念
java·人工智能
瑞码空间29 分钟前
01背包:动态规划的Hello World
c++·算法·0/1背包问题
SemiTris32 分钟前
从Controller到Tomcat底层请求链路全解析
java·tomcat
月光有害35 分钟前
理解 Spring 依赖注入:从构造器注入到集合与条件 Bean
java·后端·spring