每日一练(力扣)

我的思路是暴力枚举:

情况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;
    }
相关推荐
BUG收容所所长2 分钟前
栈的奇妙世界:从冰棒到算法的华丽转身
前端·javascript·算法
程序员岳焱2 分钟前
深度剖析:Spring AI 与 LangChain4j,谁才是 Java 程序员的 AI 开发利器?
java·人工智能·后端
XRZaaa7 分钟前
常见排序算法详解与C语言实现
c语言·算法·排序算法
都叫我大帅哥10 分钟前
AQS(AbstractQueuedSynchronizer)深度解剖:从“奶茶店排队”到源码级设计哲学
java
@我漫长的孤独流浪11 分钟前
数据结构测试模拟题(4)
数据结构·c++·算法
智驱力人工智能14 分钟前
智慧零售管理中的客流统计与属性分析
人工智能·算法·边缘计算·零售·智慧零售·聚众识别·人员计数
斯奕sky_small-BAD15 分钟前
C++ if语句完全指南:从基础到工程实践
java·开发语言·php
云之渺17 分钟前
125java
java
都叫我大帅哥18 分钟前
Java ReentrantLock:从“舔狗式等待”到源码级征服指南
java
程序员岳焱24 分钟前
Java 高级泛型实战:8 个场景化编程技巧
java·后端·编程语言