LeetCode 28 : Implement strStr() (Java)

来源:互联网 发布:淘宝达人介绍 编辑:程序博客网 时间:2024/06/08 11:05

解题思路:扫描。。。时间复杂度O(N*M)。据说最好的算法是KMP算法,不过我还不会。。。

public class Solution {    public int strStr(String haystack, String needle) {        if(haystack.length() == 0 && needle.length() == 0) {            return 0;        }        if(haystack.length() < needle.length()) {            return -1;        }        int cur = 0;        int ind = 0;        while(ind != haystack.length()) {            if(cur < needle.length()) {                if(haystack.charAt(ind) == needle.charAt(cur)) {                    cur ++;                    ind ++;                }                else if(cur != 0){                    ind = ind - cur + 1;                    cur = 0;                }                else {                    ind ++;                }            }            else {                break;            }        }        if(cur == needle.length()) {            return ind - cur;        }        else {            return -1;        }    }}
0 0
原创粉丝点击