【每日一题-leetcode】28. 实现 strStr()

28. 实现 strStr()

  1. 实现 strStr()

难度简单513

实现 strStr() 函数。

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

示例 1:

输入: haystack = "hello", needle = "ll"
输出: 2
 		//双指针加速法
        public int strStr(String haystack, String needle) {
            int hLen = haystack.length(), nLen = needle.length();
            // 遍历次数
            for(int i=0;i<=hLen-nLen;i++){
                int j = 0;
                //j指针从目标字符串 后移
                for( ;j<nLen;j++){
                    if(needle.charAt(j)!=haystack.charAt(i+j)){
                        break;
                    }
                }
                //如果j==nLen 说明找到 返回i位置即可,否则的话i++ 继续下一个位置开始查找
                if(j == nLen){
                    return i;
                }
            }
            return -1;
        }

你可能感兴趣的:(#,leetcode,#,字符串)