Leetcode: 28-implemento strStr ()

28. Implementar strStr ()

Implemente la función strStr ().

Dada una cuerda de pajar y una cuerda de aguja, encuentre la primera posición de la cuerda de aguja en la cuerda de pajar (comenzando desde 0). Si no existe, devuelve -1.

Ejemplo 1:

Entrada: pajar = "hola", aguja = "ll"
Salida: 2
Ejemplo 2:

Entrada: pajar = "aaaaa", aguja = "bba"
Salida: -1

Ideas para resolver problemas

一直以来,做题有一个想法,自己认为可以做出来的方法一定会非常执着的去解。该方法采用BF的暴力匹配... 自己的方法较为复杂,需要考虑的地方也比较多,算是非常笨的方法了...

Inserte la descripción de la imagen aquí

Código

class Solution {
    
    
     public static  int strStr(String haystack, String needle) {
    
    
		
		//将几个特殊情况特殊处理
        if("".equals(haystack) && "".equals(needle)){
    
    
            return 0;
        }
        if("".equals(needle)){
    
    
            return 0;
        }
        if(haystack.length() < needle.length()){
    
    
            return -1;
        }

		//字符串转成字符数组
        char[] charhays = haystack.toCharArray();
        char[] charneedle = needle.toCharArray();
		
		//比较每一位字符都相等时为true
        boolean flag =false;
		//charhays[i] == charneedle[0]记录位置
        int index = -1;
		
		//记录字串是否遍历完
        int tag = 0;
        for (int i = 0; i < charhays.length; i++) {
    
    

            if(charhays[i] == charneedle[0]){
    
    
                int k = i;
                index = i;
                for (int j = 0; j < charneedle.length; j++) {
    
    
                    if(k <charhays.length &&  charhays[k] == charneedle[j]){
    
    
                        flag = true;
                        tag ++;
                    }
                    k++;
                }
                //判断是否找到子串
                if(tag == charneedle.length){
    
    
                    return index;
                }
                //必须置为0,才能进行下次匹配
                tag = 0;
            }
        }
        return  -1;
    }
}

prueba

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/JAYU_37/article/details/107257907
Recomendado
Clasificación