当前位置: 代码迷 >> 综合 >> LeetCode 28 Implement strStr()
  详细解决方案

LeetCode 28 Implement strStr()

热度:84   发布时间:2023-10-28 04:08:57.0

思路

在source里逐个字符作为起始点检查是否包含子字符串。
注意特殊情况处理:见代码

复杂度

时间复杂度O(n^2)
空间复杂度O(1)

代码

class Solution {
    public int strStr(String haystack, String needle) {
    int srcLen = haystack.length();int tarLen = needle.length();if (srcLen < tarLen) {
    return -1;}for (int i = 0; i <= srcLen - tarLen + 1; i++) {
    int j = 0;for (; j < tarLen; j++) {
    if (i + j >= srcLen || haystack.charAt(i + j) != needle.charAt(j)) {
    break;}}if (j == tarLen) {
    return i;}}return -1;}
}