美文网首页
LeetCode每日一题:implement strstr

LeetCode每日一题:implement strstr

作者: yoshino | 来源:发表于2017-07-04 09:59 被阅读49次

    问题描述

    Implement strStr().
    Returns a pointer to the first occurrence of needle in haystack, or null if needle is not part of haystack.

    问题分析

    这道题考的是KMP算法,但是题目返回值却很诡异,我用indexof返回索引再改成String类型却总是过不了。

    代码实现

    public String strStr(String haystack, String needle) {
            if (needle.length() == 0) return haystack;
            for (int i = 0; i < haystack.length(); i++) {
                if (haystack.length() - i + 1 < needle.length()) return null;
                int k = i;
                int j = 0;
                while (j < needle.length() && k < haystack.length() && needle.charAt(j) == haystack.charAt(k)) {
                    j++;
                    k++;
                    if (j == needle.length()) return haystack.substring(i);
                }
            }
            return null;
        }
    

    相关文章

      网友评论

          本文标题:LeetCode每日一题:implement strstr

          本文链接:https://www.haomeiwen.com/subject/gxpthxtx.html