首页 > 其他 > 详细

leetcode 28. 实现strStr()

时间:2018-10-05 23:51:42      阅读:261      评论:0      收藏:0      [点我收藏+]
技术分享图片
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()

原文:https://www.cnblogs.com/Roni-i/p/9746350.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!