• 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;
    }
    }

     
  • 相关阅读:
    转:页面刷新方法
    CSS 浏览器兼容与解析
    转XML格式与DataTable、DataSet、DataView格式的转换
    好文共欣赏--发布收藏
    利用HttpWebRequest自动抓取51la统计数据
    Asp.net中多语言的实现
    转 启用IIS的Gzip压缩
    在asp.net web 程序中使用Sqlite数据库
    cte+xml
    trace (转)
  • 原文地址:https://www.cnblogs.com/corvus/p/12024350.html
Copyright © 2020-2023  润新知