LeetCode28 实现strStr

package easy;

import java.util.Arrays;

public class LC_28_strStr {

    public static int strStr(String haystack, String needle) {
    	if (needle.equals(""))
    		return 0;
        int[] py=new int[needle.length()+3];
        Arrays.fill(py, 0);
        for (int i=0;i=0;j--)
        	{
        		if (needle.charAt(j)==needle.charAt(i))
        		{
        			py[i]=i-j;
        			break;
        		}
        	}
        for (int i=0;i=haystack.length()) break;;
        }
    	return -1;
    }
	
	
	public static void main(String[] args) {
	  System.out.println(LC_28_strStr.strStr("hello", "ll"));
	  System.out.println(LC_28_strStr.strStr("aaaaa", "bba"));
	  System.out.println(LC_28_strStr.strStr("aaa", "aaaa"));
	}

}

额,我实现的程序运行效率确实明显还有改进空间。。官方解答还没看。

排名靠前的同学居然直接用的indexOf,这。。。。足够说明了jdk本身实现的强大,不说了,去看下jdk的实现


你可能感兴趣的:(leetcode)