每日一练(力扣)

我的思路是暴力枚举:

情况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;
    }
相关推荐
摇滚侠2 分钟前
在 SpringBoot 项目中,开发工具使用 IDEA,.idea 目录下的文件需要提交吗
java·spring boot·intellij-idea
爱敲代码的TOM7 分钟前
数据结构总结
数据结构
云姜.7 分钟前
java多态
java·开发语言·c++
李堇10 分钟前
android滚动列表VerticalRollingTextView
android·java
CoderCodingNo16 分钟前
【GESP】C++五级练习题 luogu-P1865 A % B Problem
开发语言·c++·算法
大闲在人27 分钟前
7. 供应链与制造过程术语:“周期时间”
算法·供应链管理·智能制造·工业工程
泉-java30 分钟前
第56条:为所有导出的API元素编写文档注释 《Effective Java》
java·开发语言
小熳芋30 分钟前
443. 压缩字符串-python-双指针
算法
Charlie_lll40 分钟前
力扣解题-移动零
后端·算法·leetcode
chaser&upper40 分钟前
矩阵革命:在 AtomGit 解码 CANN ops-nn 如何构建 AIGC 的“线性基石”
程序人生·算法