leetcode 28. 实现strStr()

Posted Roni

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 28. 实现strStr()相关的知识,希望对你有一定的参考价值。

技术分享图片
class Solution {
    public int strStr(String haystack, String needle) {
        int i = 0, j = 0;
        int a = haystack.length();
        int b = needle.length();
        if(a<b) return -1;
        else if(b==0 || haystack.equals(needle)) return 0;
        else {
            while(i < a && j < b) {
                if(needle.charAt(j) != haystack.charAt(i)) {
                    i=i-j+1;
                    j=0;
                }
                else {
                    i++;
                    j++;
                }
            }
            if(j==b) return i-j;
            else return -1;
        }
    }
}
双指针

 

 

技术分享图片
class Solution {
    public int strStr(String haystack, String needle) {
                if(haystack.length() == 0&&needle.length() != 0) return -1;
                int l1=haystack.length();
                int l2=needle.length();
                boolean flag;
                for(int i = 0 ; i <= l1-l2; i++){
                    flag = true;
                    for(int j = 0 ; j < needle.length() ; j ++) {
                        if(haystack.charAt(i+j) != needle.charAt(j)) {
                            flag = false;
                            break;
                        }
                    }
                    if(flag) return i;
                }
                return -1;
            }
    }
简洁

 

以上是关于leetcode 28. 实现strStr()的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 28. Implement strStr() 实现strStr()

LeetCode 28. Implement strStr()

Leetcode 28.实现strStr() By Python

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

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

LeetCode 28 实现 strStr()