zoukankan      html  css  js  c++  java
  • 28. 实现 strStr()

    实现 strStr() 函数。

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

    示例 1:

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

    示例 2:

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

    class Solution {
        public int strStr(String haystack, String needle) {
            //暴力
            int hL = haystack.length(),nL = needle.length();
            if(nL == 0) return 0;
            int ph = 0;
            while(ph < hL - nL + 1){
                while(ph < hL - nL + 1 && haystack.charAt(ph) != needle.charAt(0)) ph++;
                int pn = 0,nLen = 0;
                while(pn < nL && ph < hL && haystack.charAt(ph) == needle.charAt(pn)){
                    pn++;
                    ph++;
                    nLen++;
                }
                if(nLen == nL) return ph - nLen;
                ph = ph - nLen + 1;
            }
            return -1;
        }
    }
    一回生,二回熟
  • 相关阅读:
    例5-6
    例5-5
    例5-4
    例4-5
    例4-4
    例4-3
    例4-2
    例3-11
    例3-10
    例3-9
  • 原文地址:https://www.cnblogs.com/zzytxl/p/12661485.html
Copyright © 2011-2022 走看看