每日一练(力扣)

我的思路是暴力枚举:

情况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;
    }
相关推荐
鹿角片ljp6 小时前
力扣125.验证回文串-双指针
数据结构·算法
夏乌_Wx6 小时前
练题100天——DAY44:回文链表 ★★☆☆☆
数据结构
We་ct6 小时前
LeetCode 30. 串联所有单词的子串:从暴力到高效,滑动窗口优化详解
前端·算法·leetcode·typescript
-Try hard-6 小时前
数据结构|概念及单向有头链表
数据结构·算法·vim
小马爱打代码6 小时前
Spring AI 实战:Agent 基础搭建与核心能力解析
java·人工智能·spring
历程里程碑6 小时前
子串----和为K的子数组
大数据·python·算法·leetcode·elasticsearch·搜索引擎·哈希算法
郝学胜-神的一滴6 小时前
Python List操作:+、+=、extend的深度解析
开发语言·数据结构·python·程序人生·架构·list
csdn2015_6 小时前
springboot task
java·spring boot·后端
Aaron15886 小时前
通信灵敏度计算与雷达灵敏度计算对比分析
网络·人工智能·深度学习·算法·fpga开发·信息与通信·信号处理
2301_790300966 小时前
C++中的命令模式
开发语言·c++·算法