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

     
  • 相关阅读:
    JMeter+ant+jenkins自动化持续集成
    如何保证线程按顺序执行
    Java多线程和死锁
    java基础总结
    一、java自带的观察者模式
    一.HttpClient、JsonPath、JsonObject运用
    二.创建maven工程及下载需要的jar包
    一.Maven的安装和配置整理
    sql 关键词语句
    PHP5常量
  • 原文地址:https://www.cnblogs.com/corvus/p/12024350.html
Copyright © 2011-2022 走看看