美文网首页
28. 实现strStr()

28. 实现strStr()

作者: 祝你万事顺利 | 来源:发表于2019-06-25 07:50 被阅读0次

    实现 strStr() 函数。

    给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。

    示例 1:

    输入: haystack = "hello", needle = "ll"
    输出: 2

    示例 2:

    输入: haystack = "aaaaa", needle = "bba"
    输出: -1

    说明:

    当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。

    对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf() 定义相符。

    public class Solution {
        public int StrStr(string haystack, string needle) {
           int fstrIndex = 0;
                int index = 0;
                if (needle == "")
                {
                    return 0;
                }
                if (haystack.Length < needle.Length)
                {
                    return -1;
                }
                if (haystack.Length == needle.Length)
                {
                    if (haystack != needle)
                    {
                        return -1;
                    }
                }
                for (int i = 0; i < haystack.Length; i++)
                {
                    if (haystack[i] == needle[fstrIndex])
                    {
                        index = i;
                        for (int j = 0; j <needle.Length && index<haystack.Length; j++)
                        {
                            if (haystack[index] != needle[j])
                            {
                                break;
                            }
                            else if (haystack[index]==needle[j] && j == needle.Length -1)
                            {
                                return i;
                            }
                            index++;
                        }
                    }
                }
                return -1;
        }
    }
    

    相关文章

      网友评论

          本文标题:28. 实现strStr()

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