28. 找出字符串中第一个匹配项的下标 1

发布时间 2023-11-12 22:40:31作者: 追梦•少年

2023-11-12

28. 找出字符串中第一个匹配项的下标 - 力扣(LeetCode)

思路:

        1 暴力法

        2 双指针法

        3 更多思路看2

class Solution {
    public int strStr(String haystack, String needle) {
        //暴力法
        //双指针
 
        //双指针
        if(haystack.length()<needle.length()){
            return -1;
        }   
 
        int i=0;
        int j=0;
        while(i<haystack.length()){
            char c1=haystack.charAt(i);
            char c2=needle.charAt(j);
            if(c1!=c2){
                i++;
                continue;
            }
            int now=i;
 
            boolean flag=true;
 
            int t=i;
            t++;
            for(int k=1;k<needle.length();k++){
                if(t>=haystack.length()){   //注意越界
                    flag=false;
                    break;
                }
                char cc1=haystack.charAt(t);
                char cc2=needle.charAt(k);
 
                if(cc1!=cc2){
                    flag=false;
                    break;
                }
 
                t++;
            }
 
            if(flag){
                return now;
            }
 
            i++;
        }
        return -1;
 
 
 
    }
}