Leetcode28 Implement strStr()

来源:互联网 发布:谷雨软件下载 编辑:程序博客网 时间:2024/06/01 15:40

Implement strStr()

Implement strStr().

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

Solution1

  • 最简单的方法当然是一个一个字符去匹配。代码如下:
public class Solution {    public int strStr(String haystack, String needle) {        int m = haystack.length();        int n = needle.length();        if(n==0) return 0;//注意这里是将空字符串匹配在位置0        if(m<n) return -1;        for(int i=0,j=0;i<=m-n;i++){            if(haystack.charAt(i)==needle.charAt(0)){                j = 0;                for(int k=i;k<i+n;k++,j++) if(haystack.charAt(k)!=needle.charAt(j)) break;                if(j==n) return i;            }        }        return -1;       }}

Solution2

  • 字符串子串问题一个非常常见的算法是KMP算法,但是其理解起来有些困难。针对本题的解法感兴趣的可以参考:KMP解法1 和 KMP解法2.
0 0