zoukankan      html  css  js  c++  java
  • PHP

    实现 strStr() 函数。

    给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回  -1。

    示例 1:

    输入: haystack = "hello", needle = "ll"
    输出: 2
    示例 2:

    输入: haystack = "aaaaa", needle = "bba"
    输出: -1
    说明:

    当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。

    对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf() 定义相符。

    来源:力扣(LeetCode)

    class Solution {

        /**
         * @param String $haystack
         * @param String $needle
         * @return Integer
         */
        function strStr($haystack, $needle) {
            if((empty($haystack) && empty($needle)) || empty($needle)) return 0;
            $key = strpos($haystack,$needle);
           return $key === false ? -1 : $key;
        }
    }
     
    第二种
     

    class Solution {

    /**
    * @param String $haystack
    * @param String $needle
    * @return Integer
    */
    function strStr($haystack, $needle) {
    $str1 = strlen($haystack);
    $str2 = strlen($needle);

    if($needle === '') return 0;

    if($str2 > $str1){
    return -1;
    }

    for($i = 0; $i < $str1;$i++){

    if($haystack{$i} === $needle{0}){

    $strleng = substr($haystack,$i,$str2);

    if($strleng === $needle){
    return $i;
    }

    }

    }
    return -1;
    }
    }

     
  • 相关阅读:
    ORACLE的程序包1程序包的基
    JAVA中方法重载,方法覆盖,方法继承等小结
    使用DBMS_JOB包创建ORACLE定时任务
    linux shell 中判断语句
    oracle direction目录
    Java加载类的加载顺序
    Struts2非常简单实用的身份验证功能
    关于ListView优化的一点心得
    使用webview将网页打包成apk
    关于android下的冒烟测试
  • 原文地址:https://www.cnblogs.com/corvus/p/12024350.html
Copyright © 2011-2022 走看看