• 28.Implement strStr()【leetcod】


    Implement strStr().

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

     1 public class Solution {
     2     public int strStr(String haystack, String needle) {
     3         if(haystack==null||needle==null)
     4             return -1;
     5         int lenHay =haystack.length();
     6         int lenNeed=needle.length();
     7         
     8         for(int i=0;i<=lenHay-lenNeed;i++){
     9             int j=0;
    10             for(j=0;j<lenNeed;j++){
    11                 if(haystack.charAt(i+j)!=needle.charAt(j)){
    12                      return -1;
    13                     // break;
    14                 }
    15                  
    16             }
    17               if(j==lenNeed)
    18                  return i;      
    19         }
    20          return -1;
    21     }
    22 }
    23      

    解题思路:首先本题考查的为strStr()函数的实现

    strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。

    判断大字符串A和子串B,他们长度分别为L1和L2,这个时候i 在0-(L1-L2)区间内:记为可能出现的返回值。即子串的第j个字母在A串中的位置为i+j

    如果最后子串的每个字母在母串中都有匹配到那么范围i的位置即可,否则证明不包含子串,返回-1即可

    士不可以三日不读书,故士别三日当刮目相待!晚安,北京!

    不积跬步无以至千里,千里之堤毁于蚁穴。 你是点滴积累成就你,你的丝丝懒惰毁掉你。 与诸君共勉
  • 相关阅读:
    重定向是否可以重定向到post接口
    ForkJoin(工作窃取)初步使用,计算偶数集合
    Dubbo服务的三种发布模式
    mysql开启慢查询日志
    Hashmap的结构,1.7和1.8有哪些区别
    idea回滚已经push的代码
    rabbitmq集群安装配置
    restful好处,表单提交put/delete
    BIO/NIO/AIO待完成
    判断一个对象是否可以被回收
  • 原文地址:https://www.cnblogs.com/haoHaoStudyShare/p/7337119.html
Copyright © 2020-2023  润新知