Java每日算法--实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开(

Posted lovoo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java每日算法--实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开(相关的知识,希望对你有一定的参考价值。

题目:

实现 strStr() 函数。

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

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

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

输入:haystack = "", needle = ""
输出:0

解法1:

使用 startWith

public static int strStr(String haystack, String needle) {
        if("".equals(haystack)){
            if("".equals(needle)){
                return 0;
            }else {
                return -1;
            }
        }
        int i = 0;
        while (i < haystack.length()) {
            if (haystack.substring(i).startsWith(needle)) {
                return i;
            }
            i++;
        }
        return 0;
    }

解法2:

使用 indexOf

public static int strStr2(String haystack, String needle) {
        return haystack.indexOf(needle);
    }

以上是关于Java每日算法--实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开(的主要内容,如果未能解决你的问题,请参考以下文章

小Y学算法⚡️每日LeetCode打卡⚡️——15.实现 strStr()

100天算法入门 - 每日三题 - Day4有效的括号删除有序数组中的重复项实现strStr

leetcode 每日一题 28. 实现 strStr()

leetcode 每日一题 28. 实现 strStr()

每日一题之 LeetCode实现strstr()

28. 实现 strStr()(KMP算法实现)