力扣00028.找出字符串中第一个匹配项的下标
题目描述
给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。
示例 1:
输入:haystack = “sadbutsad”, needle = “sad”
输出:0
解释:”sad” 在下标 0 和 6 处匹配。
第一个匹配项的下标是 0 ,所以返回 0 。
示例 2:
输入:haystack = “leetcode”, needle = “leeto”
输出:-1
解释:”leeto” 没有在 “leetcode” 中出现,所以返回 -1 。
提示:
- $1 <= haystack.length, needle.length <= 10^4$
- haystack 和 needle 仅由小写英文字符组成
解决方法
C++
1 | class Solution { |
结果
执行用时 : 1 ms, 击败 32.03% 使用 C++ 的用户
内存消耗 : 7.45 MB, 击败 5.03% 使用 C++ 的用户
Java
1 | public class Solution { |
结果
执行用时 : 0 ms, 击败 100.00% 使用 Java 的用户
内存消耗 : 40.36 MB, 击败 20.59% 使用 Java 的用户
Python
1 | class Solution(object): |
结果
执行用时 : 15 ms, 击败 76.06% 使用 Python 的用户
内存消耗 : 11.54 MB, 击败 92.21% 使用 Python 的用户
Python3
1 | class Solution: |
结果
执行用时 : 38 ms, 击败 73.98% 使用 Python3 的用户
内存消耗 : 16.38 MB, 击败 33.01% 使用 Python3 的用户
C
1 | int strStr(char* haystack, char* needle) { |
结果
执行用时 : 0 ms, 击败 100.00% 使用 C 的用户
内存消耗 : 5.25 MB, 击败 99.47% 使用 C 的用户
C#
1 | public class Solution { |
结果
执行用时 : 50 ms, 击败 77.71% 使用 C# 的用户
内存消耗 : 39.58 MB, 击败 5.22% 使用 C# 的用户
JavaScript
1 | /** |
结果
执行用时 : 58 ms, 击败 69.67% 使用 JavaScript 的用户
内存消耗 : 48.68 MB, 击败 10.90% 使用 JavaScript 的用户
TypeScript
1 | function strStr(haystack: string, needle: string): number { |
结果
执行用时 : 68 ms, 击败 43.15% 使用 TypeScript 的用户
内存消耗 : 50.23 MB, 击败 13.29% 使用 TypeScript 的用户
PHP
1 | class Solution { |
结果
执行用时 : 3 ms, 击败 92.96% 使用 PHP 的用户
内存消耗 : 19.80 MB, 击败 5.63% 使用 PHP 的用户
Swift
1 | class Solution { |
结果
执行用时 : 1 ms, 击败 75.25% 使用 Swift 的用户
内存消耗 : 16.25 MB, 击败 5.94% 使用 Swift 的用户
Kotlin
1 | class Solution { |
结果
执行用时 : 157 ms, 击败 24.11% 使用 Kotlin 的用户
内存消耗 : 34.41 MB, 击败 16.96% 使用 Kotlin 的用户
Dart
1 | class Solution { |
结果
执行用时 : 292 ms, 击败 23.08% 使用 Dart 的用户
内存消耗 : 143.05 MB, 击败 92.31% 使用 Dart 的用户
Go
1 | func strStr(haystack string, needle string) int { |
结果
执行用时 : 0 ms, 击败 100.00% 使用 Go 的用户
内存消耗 : 1.87 MB, 击败 47.87% 使用 Go 的用户
Ruby
1 | # @param {String} haystack |
结果
执行用时 : 59 ms, 击败 85.71% 使用 Ruby 的用户
内存消耗 : 206.23 MB, 击败 71.43% 使用 Ruby 的用户
Scala
1 | object Solution { |
结果
执行用时 : 453 ms, 击败 53.85% 使用 Scala 的用户
内存消耗 : 52.46 MB, 击败 46.15% 使用 Scala 的用户
Rust
1 | impl Solution { |
结果
执行用时 : 0 ms, 击败 100.00% 使用 Rust 的用户
内存消耗 : 1.95 MB, 击败 92.17% 使用 Rust 的用户
Racket
暂时未解决
1 |
结果
执行用时 : ms, 击败 % 使用 Racket 的用户
内存消耗 : MB, 击败 % 使用 Racket 的用户
Erlang
暂时未解决
1 |
结果
执行用时 : ms, 击败 % 使用 Erlang 的用户
内存消耗 : MB, 击败 % 使用 Erlang 的用户
Elixir
暂时未解决
1 |
结果
执行用时 : ms, 击败 % 使用 Elixir 的用户
内存消耗 : MB, 击败 % 使用 Elixir 的用户