28. 找出字符串中第一个匹配项的下标

就两个字符串每个字符依次比较即可。

class Solution {
public:
    int strStr(string haystack, string needle) {
        int i = 0, j = 0;
        while (i < haystack.size() && j < needle.size()) {
            if (haystack[i] != needle[j]) {
                i = i - j + 1;
                j = 0;
            } else {
                ++j;
                ++i;
                if (j == needle.size()) {
                    return i - j;
                }
            }
        }
        return -1;
    }
};

你可能感兴趣的:(LeetCode,java,算法,数据结构)