• 28. Implement strStr()


    Implement strStr().

    Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.

     此题的想法是遍历一遍haystack数组,当遍历到cur的元素和needle第一个char一样的时候,看haystack的子字符串是否和needle,代码如下:

     1 public class Solution {
     2     public int strStr(String haystack, String needle) {
     3         int len = haystack.length();
     4         int index = -1;
     5         if(needle.length()==0) return 0;
     6         if(haystack.length()==0) return index;
     7         for(int i=0;i<len;i++){
     8             if(haystack.charAt(i)==needle.charAt(0)){
     9                 if(ismatch(haystack,needle,i)){
    10                     index = i;
    11                     break;
    12                 }
    13             }
    14         }
    15         return index;
    16     }
    17     public boolean ismatch(String haystack,String needle,int i){
    18         int k = 0;
    19         while(k<needle.length()&&(k+i)<haystack.length()&&haystack.charAt(i+k)==needle.charAt(k)){
    20             k++;
    21         }
    22         if(k==needle.length()) return true;
    23         return false;
    24     }
    25 }

     本题也可以使用kmp的做法来做,希望第三遍刷的时候能掌握。

     
  • 相关阅读:
    ioremap函数
    kmalloc、kzalloc和vmalloc
    C语言 snprintf函数
    C语言 memset函数
    消息队列
    mount -a
    linux系统查看服务状态和启动停止服务
    Java中创建对象的内存图
    Java中数组在内存中的图解
    socket编程(Java实现)
  • 原文地址:https://www.cnblogs.com/codeskiller/p/6388620.html
Copyright © 2020-2023  润新知