leetCode 28.Implement strStr() (实现字符串匹配函数) 解题思路和方法

原创 2015年07月07日 21:22:31
Implement strStr() 

Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.


思路:此题很简单,就是实现strStr()函数。找到返回起始值,找不到返回-1。

代码如下:

public class Solution {
    public int strStr(String haystack, String needle) {
        int lenB = needle.length();//needle的长度
        if(lenB == 0){
            return 0;
        }
        int lenA = haystack.length();//haystack的长度
        if(lenA == 0){
            return -1;
        }
        
        if(lenA < lenB){//子串长度大,肯定不存在
            return -1;
        }

        for(int i = 0; i < lenA; i++){
            if(lenA - i < lenB){//如果以后的数字没有lenB大,直接返回
                break;
            }
            if(haystack.charAt(i) == needle.charAt(0)){//如果a的某个字符与b的首字符相等
                //循环判断以后的数字是否对应相等
                boolean isStr = true;
                for(int j = i;j - i < lenB;j++){
                    if(haystack.charAt(j) != needle.charAt(j-i)){//如果不相等字符,直接返回
                        isStr = false;//标记值记为false
                       break;
                    }
                }
                if(isStr){
                    return i;
                }
            }
        }
        return -1;
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

[LeetCode-28] Implement strStr(KMP 字符串匹配)

1、KMP算法的思想 由D.E.Knuth、J.H.Morris和V.R.Pratt共同提出了一个改进算法,消除了Brute-Force算法中串s指针的回溯,完成串的模式匹配。时间复杂度为O(s.c...

28. Implement strStr()(String字符串匹配)

题目: Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if...

Leetcode 28.Implement strStr() 解题报告【C库函数strstr()模拟-字符串中子串首次出现的地址】

28. Implement strStr()   提交网址 https://leetcode.com/problems/implement-strstr/ Total Accepted: ...

LeetCode Implement strStr()(朴素的字符串匹配,RK算法,KMP算法)

这次来个大整合,因为正好处理到经典的字符串匹配问题 那么也是用c语言实现,现在开始吧 Implement strStr(). Returns the index of the first occ...

Leetcode 28. Implement strStr() KMP算法解题

Implement strStr().   Returns the index ofthe first occurrence of needle in haystack, or -1 if nee...

LeetCode_28---Implement strStr() [KMP算法,字符匹配算法]

Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle...

leetcode | Implement strStr() | 实现字符串查找函数

Implement strStr() : https://leetcode.com/problems/implement-strstr/Returns the index of the first o...

[LeetCode]28 实现子字符串匹配

Implement strStr() (实现子字符串匹配)【难度:Easy or Medium】 Implement strStr().Returns the index of the first ...

LeetCode 28. Implement strStr()(实现子串定位)

原题网址:https://leetcode.com/problems/implement-strstr/ Implement strStr(). Returns the index of the...
  • jmspan
  • jmspan
  • 2016年05月20日 10:35
  • 255

Sunday算法的一种Java实现(Leetcode28. Implement strStr())

Leetcode第28题Implement strStr()。即寻找字符串里模式串第一次出现的位置。 这类字符串匹配查找的问题,无外乎KMP,BM,Sunday算法。KMP太烧脑,BM和Sunda...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetCode 28.Implement strStr() (实现字符串匹配函数) 解题思路和方法
举报原因:
原因补充:

(最多只允许输入30个字)